Zitat:
Was für einen Rückgabewert liefert die Funktion CreateProcessAsLogon denn?
False
Hast du in der Vergangenheit schon mit
WinAPI-Funktionen gearbeitet? Bei so ziemlich allen steht das Folgende in den Angaben zum Rückgabewert:
Zitat:
If the function succeeds, the return value is nonzero.
If the function fails, the return value is 0 (zero). To get extended error information, call GetLastError.
(Hervorhebung von mir) jedenfalls bei denen, die Rückgabetyp Bool (oder int) haben.
Insofern würde ich mal sowas machen:
Delphi-Quellcode:
if NOT CreateProcessAsLogon('Username', 'Password', 'Project2.exe', '') then
RaiseLastOSError;
RaiseLastOsError ruft letztlich GetLastError. Dann gibt's hoffentlich genauere Infos, woran es klemmt.
Außerdem: "Läuft als Admin" heißt exakt was? Läuft das Programm elevated, also wurde eine
UAC-Abfrage bestätigt? Bei aktivierter
UAC gilt: Auch wenn ein Nutzer Adminrechte hat bzw. Mitglied der Gruppe der Administratoren ist, muss ein Programm noch lange nicht mit Adminrechten laufen.
Grüße
Dalai