Einzelnen Beitrag anzeigen

Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

Re: CreateProcess aus Dienst heraus

  Alt 5. Apr 2006, 12:01
Also ich hab jetzt folgenden Code:

Delphi-Quellcode:
if not LogonUser(
           PChar('Username'),
           PChar('Workgroup'),
           PChar('password'),
           LOGON32_LOGON_INTERACTIVE,
           LOGON32_PROVIDER_DEFAULT,
           token) then
  Beep;

ZeroMemory( @si, sizeof(si) );
si.lpDesktop:=PChar('MyOwnDesktop');
si.cb := sizeof(si);
ZeroMemory( @pi, sizeof(pi) );
cf:=CREATE_NEW or CREATE_NEW_CONSOLE;
command:='E:\Programme\Programm.exe';

try
  if not CreateProcessAsUser(
    token,
    nil,
    PChar(command),
    nil,
    nil,
    False,
    cf,
    nil,
    PChar(ExtractFilePath(command)),
    si,
    pi )then
      Beep;
except
  Beep;
  end;
Aus einem "normalen" Programm heraus funktioniert das ohne Probleme, aus einem Dienst heraus passiert das was ich oben beschrieben habe. Völlig egal ob ich den Dienst als "LocalSystem" oder einem Benutzer ausführe.

Weis keiner was ich machen kann?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat