Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi CreateProcessAsUser (https://www.delphipraxis.net/34019-createprocessasuser.html)

Luckie 18. Nov 2004 17:28

Re: CreateProcessAsUser
 
Zitat:

Zitat von toyoman
Was ist das für eine Unit MPUWinnt?

http://www.delphipraxis.net/internal...=269008#269008
Meine eigenen Header-Übersetzungen, damit ich nicht den ganzen Jedi Kram brauche.

NicoDE 18. Nov 2004 19:04

Re: CreateProcessAsUser
 
Zitat:

Zitat von Luckie
Delphi-Quellcode:
  si.cb := SizeOf(TStartupInfoW);
  si.dwFlags := STARTF_USESHOWWINDOW;
  si.wShowWindow := 1;
  si.lpReserved := nil;
  si.lpDesktop := nil;
  si.lpTitle := nil;

Die Struktur TStartupInfo hat noch ein paar mehr Felder... ZeroMemory/FillChar sollte man sich angewöhnen - auch wenn ein 'Flags'-Feld theoretisch die Gültigkeit der Felder vorgeben sollte (in der Praxis sieht es leider anders aus).

Luckie 18. Nov 2004 19:25

Re: CreateProcessAsUser
 
OK. Ich habe es jetzt so:
Delphi-Quellcode:
uses MpuWinNT;

function CreateProcessAsLogon(const User, PW, Application, CmdLine: WideString):
  Boolean;
var
  si          : TStartupInfoW;
  pif         : TProcessInformation;
begin
  ZeroMemory(@si, sizeof(TStartupInfo));
  si.cb := SizeOf(TStartupInfoW);
  si.dwFlags := STARTF_USESHOWWINDOW;
  si.wShowWindow := 1;
  Result := CreateProcessWithLogonW(PWideChar(User), nil, PWideChar(PW),
    LOGON_WITH_PROFILE, nil, PWideChar(Application +' '+CmdLine),
    CREATE_DEFAULT_ERROR_MODE, nil, nil, si, pif);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if not CreateProcessAsLogon('Administrator', 'passwort', 'Notepad.exe', 'c:\boot.ini') then
    RaiseLastOSError;
end;

toyoman 19. Nov 2004 05:45

Re: CreateProcessAsUser
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von toyoman
Was ist das für eine Unit MPUWinnt?

http://www.delphipraxis.net/internal...=269008#269008
Meine eigenen Header-Übersetzungen, damit ich nicht den ganzen Jedi Kram brauche.

cool, sehr gute Idee :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz