Frage

Wie beantrage ich Administratorrechte während der Laufzeit, damit der Benutzer die Aufforderung gegeben, es zu erlauben oder zu verbieten?

War es hilfreich?

Lösung

Diese Information wird in der EXE-Datei Manifest geschrieben. Sie müssen das requestedExecutionLevel Feld verwenden (aber nicht sicher, dass - versuchen, es zu highestAvailable Einstellung und sehen, ob es das tut, was Sie brauchen). Siehe zum Beispiel hier für weitere Informationen (etwas ältere Artikel, aber immer noch gültig): http://blogs.msdn.com/b/cjacks/archive/2006/09/08/exploring- Manifeste-Teil-2-Standard-Namespace-and-UAC-Manifeste-in-windows-vista.aspx

Es gibt Tools in Visual Studio, die Sie einbetten Ihr eigenes Manifest lassen oder auch nur bearbeiten es. Auch gibt es ein Werkzeug in Perl geschrieben ( http://metacpan.org/pod/Win32 :: Exe :: Manifest ).

EDIT: siehe diesen Artikel für weitere Informationen:

Andere Tipps

, wenn Sie es als Antwort auf eine Schaltfläche wollen (zB wie "Show Prozesse für alle Benutzer im Task-Manager), haben Sie Ihre Anwendung mit dem folgenden Verfahren resart

ShellExecute(0,L"runas",exepath,0,0,SW_SHOWNORMAL);
scroll top