Heim > Backend-Entwicklung > C++ > Wie kann ich meiner Windows-Anwendung Erhöhungsrechte erteilen, um geschützte Registrierungsschlüssel zu ändern?

Wie kann ich meiner Windows-Anwendung Erhöhungsrechte erteilen, um geschützte Registrierungsschlüssel zu ändern?

Patricia Arquette
Freigeben: 2025-01-03 02:30:39
Original
600 Leute haben es durchsucht

How Can I Grant My Windows Application Elevation Privileges to Modify Protected Registry Keys?

Gewähren der Rechteerhöhung für Registrierungsänderungen in modernen Windows-Umgebungen

In der Welt der Windows-Programmierung war das Ändern von Registrierungsschlüsseln unter HKEY_CLASSES_ROOT einst eine unkomplizierte Aufgabe . Mit der Einführung von Windows 7 und seiner Betonung der Benutzerkontensteuerung (UAC) kann es jedoch bei Entwicklern zu der Fehlermeldung „Angeforderter Registrierungszugriff ist nicht zulässig“ kommen.

Diese Einschränkung ergibt sich aus der Tatsache, dass die meisten Anwendungen damit ausgeführt werden Standardbenutzerrechte in Windows 7 und höher. Um geschützte Registrierungsschlüssel wie die unter HKEY_CLASSES_ROOT zu ändern, benötigen Anwendungen Administratorrechte.

Erweitern Ihres Codes für UAC-Unterstützung

Um Ihrem Tweak-Dienstprogramm die erforderlichen erhöhten Berechtigungen zu gewähren, Sie müssen die folgende Lösung implementieren:

1. Verwenden Sie ein Anwendungsmanifest:

Erstellen Sie eine Manifestdatei mit der Erweiterung „.manifest“ in Ihrem Anwendungsverzeichnis.

2. Konfigurieren Sie das Manifest:

Definieren Sie in der Manifestdatei die folgende XML-Struktur:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
      <security>
         <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
         </requestedPrivileges>
      </security>
   </trustInfo>
</asmv1:assembly>
Nach dem Login kopieren

3. Verknüpfen Sie das Manifest:

Fügen Sie in Ihrem C-Code die folgende Zeile zum Abschnitt „Präprozessoranweisungen“ hinzu:

#pragma comment(linker,"/manifestdependency:\"MyApplication.manifest\"")
Nach dem Login kopieren

Durch die Implementierung dieser Schritte weisen Sie das System an, das Ihre Anwendung benötigt Administratorrechte zum Durchführen von Registrierungsänderungen. Wenn die Anwendung gestartet wird, fordert Windows den Benutzer automatisch auf, eine Erhöhung zu gewähren, sodass Ihr Tweak-Dienstprogramm auf die geschützten Registrierungsschlüssel zugreifen kann.

Das obige ist der detaillierte Inhalt vonWie kann ich meiner Windows-Anwendung Erhöhungsrechte erteilen, um geschützte Registrierungsschlüssel zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage