Erhöhung von Administratorrechten in C-Anwendungen zur Laufzeit
Die Möglichkeit, zur Laufzeit Administratorrechte vom Betriebssystem anzufordern, ist mit Sicherheit eine wünschenswerte Funktion Anwendungen. In Windows ist diese Funktion über verschiedene Mechanismen verfügbar.
Erhöhung zur Kompilierungszeit
Wie in der Frage erwähnt, können einer Anwendung während der Kompilierung Administratorrechte gewährt werden indem Sie das Manifest der Anwendung auf „requireAdministrator“ setzen. Wenn jedoch zur Laufzeit eine Erhöhung erforderlich ist, sind andere Ansätze erforderlich.
Laufzeiterhöhung
Um die Berechtigungen einer vorhandenen Anwendung zur Laufzeit zu erhöhen, gibt es mehrere Optionen :
Externes Manifest
Ähnlich wie bei der Erhöhung zur Kompilierungszeit kann ein externes Manifest erstellt und mit der ausführbaren Datei der Anwendung verknüpft werden. Dieses Manifest kann festlegen, dass „requestedExecutionLevel“ „requireAdministrator“ ist.
RunAs-Verb
Durch die Verwendung des Verbs „runas“ in der ShellExecute-Funktion ist dies möglich Starten Sie einen Prozess mit erhöhten Berechtigungen. Mit dieser Option kann der Benutzer zur Eingabe von Administratoranmeldeinformationen aufgefordert werden, bevor der Prozess ausgeführt wird.
Speziell für die aktuelle Instanz
Wenn das Ziel darin besteht, die Berechtigungen der aktuellen Instanz zu erhöhen In einer Instanz der Anwendung ist es möglich, mit der Windows-Funktion „CreateSymbolicLinkW“ einen symbolischen Link zur ausführbaren Datei des Administratorkontos zu erstellen, ohne dass erhaltene Daten im Speicher verloren gehen. Bei dieser Technik wird ein symbolischer Link mit demselben Namen wie die laufende Anwendung erstellt und auf die erhöhte Version der ausführbaren Datei verwiesen. Die erhöhte Version kann dann ausgeführt werden und übernimmt den Speicher und die Ressourcen der ursprünglichen Anwendung.
Das obige ist der detaillierte Inhalt vonWie kann ich die Administratorrechte für meine C-Anwendung zur Laufzeit erhöhen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!