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>
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\"")
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!