![]() |
problem mit createprocesswithlogonW
Hallo Zusammen,
Hab ein Problem mit createprocesswithlogonW er erkennt es nicht hab ich vill ne spezielle uses vergessen, und muss ich immer einen totalen pfad angeben oder reicht zum beispiel auch einfach nur explorer.exe Gruß Manu |
Re: problem mit createprocesswithlogonW
Es kann sein, dass Delohi die Funktion noch nicht kennt.
![]() PS: Eine korrekte Rechtsschreibung, Grammatik und Interpunktion würde es wesentlich vereinfachen deine Beiträge zu lesen und zu verstehen, was du eientlich willst. |
Re: problem mit createprocesswithlogonW
bin leider momentan auf der Arbeit und kann den Link nicht öffnen, weil in der URL "puff" vorkommt.
könnt ihr mir anders behilflich sein ? schonmal vielen Dank Manu |
Re: problem mit createprocesswithlogonW
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe mal die Demo runtergeladen und hänge sie hier an.
HTH |
Re: problem mit createprocesswithlogonW
Nochmals vielen Dank für den Upload!
Ich Habe mir jetzt was aus der Demo zusammengebastelt, und habe nun folgendes Problem: Wenn ich mich mit meinem regulärem Benutzer aus der Domaine anmelde öffnet er mir den Explorer ohne Probleme, wenn ich aber versuche diesen als Domainadmin aufzurufen passiert nichts und ich schaff es nicht den Fehler zu lokalisieren. Ich hoffe ihr könnt mir weiter helfen hier mein Code
Delphi-Quellcode:
function CreateProcessWithLogonW(lpUsername, lpDomain, lpPassword: LPWSTR; dwLogonFlags: dword; lpApplicationName,
lpCommandLine: LPWSTR; dwCreationFlags: dword; lpEnvironment: pointer; lpCurrentDirectory: LPWSTR; lpStartupInfo: PStartUpInfoW; lpProcessInfo: PProcessInformation): boolean; stdcall; external 'advapi32.dll'; implementation {$R *.dfm} function CreateProcessAsLogon(const User, PW, Application, CmdLine: WideString): DWORD; var si : TStartupInfoW; pif : TProcessInformation; s : WideString; begin ZeroMemory(@si, sizeof(si)); si.cb := sizeof(si); si.dwFlags := STARTF_USESHOWWINDOW; si.wShowWindow := 1; if CmdLine = '' then s := Application else s := Application + ' "' + CmdLine + '"'; SetLastError(0); CreateProcessWithLogonW(PWideChar(User), nil, PWideChar(PW), 0, nil, PWideChar(s), CREATE_DEFAULT_ERROR_MODE, nil, nil, @si, @pif); Result := GetLastError; end; procedure TForm5.ComboBox1Select(Sender: TObject); var User : WideString; PW : WideString; err: DWORD; begin User := WideString(form1.Edit1.Text); PW := WideString(form1.Edit2.Text); err := CreateProcessAsLogon(User, PW,stringgrid1.cells[0,combobox1.ItemIndex] , ''); if err <> 0 then ShowMessage(SysErrorMessage(err)); end; Schonmal vieln Dank Gruß Manu |
Re: problem mit createprocesswithlogonW
Und warum verschweigst du nuns den Rückgabewert von GetLastError?
|
Re: problem mit createprocesswithlogonW
momentan noch zur testzwecken aber das war auch nicht so meine frage
|
Re: problem mit createprocesswithlogonW
Zitat:
|
Re: problem mit createprocesswithlogonW
Hallo Manuel,
schau mal im Taskmanager, ob der Explorer nach Aufruf deiner Funktion dort erscheint, aber nach kurzer Zeit wieder verschwindet. Falls ja, starte den Explorer mit folgenden Parametern 'Explorer.exe /e,/separate,c:\' So ein Problem hatte ich damals auch, und habe es auf diese Art gelöst. Uwe |
Re: problem mit createprocesswithlogonW
ja aber wie kann es denn sein das wenn ich als user mich (domainaccount) angebe es dann funzt, und bei dem domainadmin nicht ? ... finde ich seltsam
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz