Meinst Du so etwas?
Delphi-Quellcode:
procedure RunAsExec(hWnd: HWND; aFile: string; aParameters: string);
var
SEI: TShellExecuteInfo;
begin
FillChar(SEI, SizeOf(SEI), 0);
SEI.cbSize := sizeof(SEI);
SEI.Wnd := hWnd;
SEI.fMask := SEE_MASK_NOCLOSEPROCESS;
SEI.lpVerb := 'runas';
SEI.lpFile := PChar(aFile);
SEI.lpParameters := PChar(aParameters);
SEI.nShow := SW_SHOWNORMAL;
if not ShellExecuteEx(@SEI) then
RaiseLastOSError;
end;
Beispiel-Aufruf:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
DateiName: string;
Parameter: string;
begin
DateiName := 'Programm.exe';
Parameter := ' ' + 'Benutzername' + ' ' + 'Passwort';
RunAsExec(Application.Handle, DateiName, Parameter);
end;
Hallo KodeZwerg,
um nochmal darauf einzugehen. Das läuft jetzt teilweise bei mir. Heißt wenn ich den Parameter-String frei lasse funktioniert es. Sobald ich in den Parameter-String Benutzername und Passwort eintrage, öffnet er mir das Programm nicht mehr. Bringt aber auch keinen Fehler....