2009-03-20 6 views
2

Ich habe eine MFC-App mit Visual Studio 2008 erstellt und muss auf W2K, XP, 2003 und Vista ausgeführt werden. Die Anwendung schreibt in HKLM in der Registrierung und funktioniert nur unter Vista, wenn Sie sie als Administrator ausführen.Forcieren meiner MFC-App als Administrator unter Vista

Meine Frage ist: Kann ich die App zwingen, automatisch als Adminstrator zu laufen? Besteht eine Manifest-Datei? Im Moment hat ich folgend in stdafx.h, von dem ich denke, schafft eine Manifest-Datei im Fluge:

#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") 

Kann ich diese Zeile ändern, um die Höhe zu zwingen, oder brauche ich etwas mit dem VC-Projekt Manifest zu tun die Einstellungen?

Vielen Dank im Voraus.

Antwort

9

ich herausgefunden habe, wie dies einige erweiterte C++ Linker-Optionen verwenden tun:

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts.

  2. Erweitern Sie den Knoten Konfigurationseigenschaften.

  3. Erweitern Sie den Linker-Knoten.

  4. Wählen Sie die Eigenschaftsseite der Manifestdatei aus.

  5. Ändern Sie die Eigenschaften UAC (User Account Control), UAC-Ausführungsebene und UAC Bypass UI Protection.

+0

Ich denke, Sie sollten src Link https://msdn.microsoft.com/en-us/library/bb384691.aspx hinzufügen – user1686407

1

Sie können dies mit dem Manifest tun. Vielleicht so etwas wie dieses, aber ich kann mich nicht erinnern genau:

<requestedExecutionLevel level="requireAdministrator"/> 
+0

finden Sie in diesem doc über requestedExecutionLevel: http://www.microsoft.com/downloads/details.aspx?FamilyID=BA73B169-A648-49AF-BC5E-A2EEBB74C16B&displaylang=en – lsalamon

0

Sie können entweder tun. Sie können eine ähnliche Zeile mit einem #pragma hinzufügen, um die requireAdministrator-Anweisung hinzuzufügen, oder Sie können sie in den Eigenschaftenblättern in VS2008 festlegen.

+0

Dies ist keine nützliche Antwort. Veröffentlichen Sie den genauen Code und nicht nur einen bedeutungslosen Kommentar. – Elmue