![]() |
Benutzerkontensteuerung für Admin Rechte startet nur im Hintergrund
Moin.
Ich starte aus meiner Anwendung heraus bedingt eine weitere von mir geschriebene Kommandozeilenanwendung. Anwendung 1 soll auf die Beendigung der Kommandozeilenanwendung warten. Das habe ich so gelöst:
Delphi-Quellcode:
Die Kommandozeilenanwendung brauch Adminrechte und fordert diese an. Das Maifest sieht so aus:
FillChar(ExecuteInfo, SizeOf(ExecuteInfo), 0);
ExecuteInfo.cbSize := SizeOf(TShellExecuteInfo); with ExecuteInfo do begin fMask := SEE_MASK_NOCLOSEPROCESS; wnd := Application.Handle; lpFile := PChar('App.exe'); // lpParameters := PChar('-t'); lpDirectory := PWideChar(ExtractFilePath(Application.ExeName) + '..\App\'); nShow := SW_SHOWMAXIMIZED; end; if ShellExecuteEx(@ExecuteInfo) then begin WaitForSingleObject(ExecuteInfo.hProcess, INFINITE); GetExitCodeProcess(ExecuteInfo.hProcess, ExitCode); ... ...
Code:
Prinzipiell funktioniert das auch alles. Nur kommt der Benutzerkontensteuerungsdialog, der die Adminrechte anfordert nicht automatisch in den Vordergrund. Er blinkt nur unten in der Taskleiste vor sich hin und man muss in mit einem Klick in den Vordergrund holen.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="Private.Unknown.MySampleApp" type="Win32"/> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> </dependentAssembly> </dependency> </assembly> Wie kann ich erreichen das er automatisch im Vordergrund erscheint wenn ich meine Kommandozeilenanwendung aus meiner anderen Anwendung heraus starte? |
AW: Benutzerkontensteuerung für Admin Rechte startet nur im Hintergrund
Application.Handle ist nun einmal im Hintergrund und kein sichtbares Fenster. Wenn die UAC sichtbar aufpoppen soll, musst du auch ein Handle eines sichtbaren Fensters angeben, dem dieses Popup zugeordnet werden soll (auch von der Position her).
|
AW: Benutzerkontensteuerung für Admin Rechte startet nur im Hintergrund
Ja klar, stimmt. Jetzt funktioniert. Vielen Dank für die Expressantwort.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 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