Thema: Delphi Probleme mit DCOM

Einzelnen Beitrag anzeigen

jelzi

Registriert seit: 21. Jul 2004
14 Beiträge
 
#8

Re: Probleme mit DCOM

  Alt 26. Jul 2004, 11:36
Da ich jetzt ziemlich viel Zeit damit verbracht habe, möchte ich nicht das Projekt über Board werfen.
Ich habe jetzt von der Funktion CreateProcessWithLogonW erfahren mit der ich einen Prozess unter einem anderem Benutzer starten kann. Damit könnte ich mit den AdminRechten den Prozess zur Registrierung der Serveranwendung auf dem Client starten. Ich bekomme die Funktion aber nicht zum laufen

dazu verwende ich den folgenden Quellcode

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  si: STARTUPINFOW;
  pif: PROCESS_INFORMATION;
  res: Bool;
  s: string;
begin
  si.cb := SizeOf(startupinfow);
  si.dwFlags := STARTF_USESHOWWINDOW;
  si.wShowWindow := SW_SHOWDEFAULT;
  si.lpReserved := nil;
  si.lpDesktop := nil;
  si.lpTitle := 'Konsole';

  res := CreateProcessWithLogonW(username, domain, userpass, LOGON_WITH_PROFILE,
    'e:\projekte\runas\runas.exe', nil
    , CREATE_DEFAULT_ERROR_MODE, nil, nil, si, pif);


  if booltostr(res) = '0then
  begin
   //this code can be 'translated' with 'net helpmsg ' on command-prompt
    str(GetLastError, s);
    ShowMessage('CreateProcessWithLogonResult: ' + booltostr(res) + #10 +
      'GetLastError: ' + s);
  end;

end;
Ich bekomme ständig als Antwort den Fehler 87, was übersetzt "falscher Parameter" bedeutet ..
Was mache ich falsch ?
  Mit Zitat antworten Zitat