Hi,
Ich habe eine Anwendung welche ohne Admin-Rechte läuft und mittels CreateProcess eine andere Anwendung startet:
Delphi-Quellcode:
FUNCTION ExecConsole(
const sApp, sParams, sTitle:
String;
wShow: Word): DWord;
var
aSI : TStartupInfo;
aPI : TProcessInformation;
aProc : THandle;
begin
Result := 1;
FillChar(aSI, SizeOf(aSI), 0);
aSI.cb := SizeOf(aSI);
// Text für die Fensterzeile zuweisen
aSI.lpTitle := PChar(sTitle);
aSI.wShowWindow := wShow;
if not CreateProcess(
nil, PChar(sapp+sParams),
nil,
nil, False,
CREATE_NEW_CONSOLE
OR NORMAL_PRIORITY_CLASS,
nil,
nil, aSI,
aPI)
then
begin
Result := 0;
end;
aProc :=
aPI.hProcess;
CloseHandle(
aPI.hThread);
CloseHandle(aProc);
end;
Diese andere Anwendung benötigt jedoch Administratorrechte und beim direkten Start dieser Anwendung über den Explorer kommt auch dieser beliebte Dialog ("Ein nicht identifiziertes Programm mächte auf den Computer zugreifen ...") unter Vista direkt hoch.
Was müsste ich anpasssen bzw. ergänzen das schon bei meiner ersten Anwendung diese Bestätigung kommt?
Wenn ich über das Kontextmenü des Explorers "Als Administator ausführen" geht es nämlich.
Windows Vista - Eine neue Erfahrung in Fehlern.