Zitat von
uwewo:
es kann durchaus sein, dass er keinen Fehler durch GetLastError erhält, so war es damals bei mir.
In unserer Firma gibt es Domain Admins, aber auch Lokale Admins natürlich mit unterschiedlichen Rechten. Jedesmal wenn ich den Explorer über CreateProcessAsLogon gestarte habe, wurde der Explorer in der Tasklist zwar angezeigt, dieser Task wurde allerdings von Windows nach ein paar Sekunden einfach wieder entfernt. Vielleicht liegt es auch an den Policies im Active Directory, bin leider kein Domain Admin.
Erst als ich den Explorer in einem separaten Task gestartet habe(daher der Parameter /e,/separate,)
funktionierte das starten des Programms problemlos.
Ohne diese Parameter sendet der WindowsExplorer eine Nachricht, die dann im alten Prozess ein neues Fenster erstellt. Der neue Explorer beendet sich dann selbst. Es hat irgendetwas mit
COM Rechten zu tun, die es verhindern, dass eine Nachricht empfangen werden kann (so oder so ähnolich). Der neue Explorer beendet sich dann erfolgreich. Daher kein Fehler.
Zitat von
uwewo:
Das ganze hat allerdings auch einen Nachteil, man muss dieses Explorer Fenstet immer manuell aktualisieren nach kopieren, löschen etc. da es nicht automatisch geschieht.
Das ist ein bekannter Fehler vom Explorer.
Zitat von
uwewo:
Ich kann mich Deiner Meinung leider nicht anschliessen, mein Programm wird derzeit in 46 Standorten
weltweit von den lokalen Admins seit ca. 1,5 Jahren eingesetzt, und ich hatte noch keine negative Resonanz.
Schau dir die Kommentare bei der Funktion der
MSDN an. Besonders den von mir.
Dein Programm ist vom sekundären Anmeldedienst abhängig. Ist dieser abgeschaltet, funktioniert die Funktion nicht mehr.
Besonders heftig :
Wenn man den Dienst abstellt oder er abstürzt, dann werden die damit gestarteten Programme beim Abmelden (lokale Konsole) nicht geschlossen und stehen dem nächsten Benutzer zur Verfügung.