Wie kann ich ein Programm einschränken, um API-Funktionen aufzurufen, die mit der Bearbeitung von Registrierungsschlüsseln / -strängen verknüpft sind?
Das Windows-Sicherheitsmodell ist für dieses Szenario ausgelegt . Jeder Registrierungsschlüssel verfügt über eine Zugriffssteuerungsliste (Access Control List, ACL), in der die Treuhänder (z. B. Benutzerkonto) und die Aktionen angegeben werden, die der Schlüssel ausführen darf (z. B. Lesen).
Um dies zu nutzen, um Ihre Anwendung einzuschränken, erstellen Sie ein Benutzerkonto ohne Administratorberechtigung und führen Sie die Anwendung immer im Kontext dieses Benutzers aus. Sie können die Windows-Funktion " Als anderen Benutzer ausführen" verwenden, um die Anwendung auf diese Weise auszuführen, ohne sich tatsächlich mit dem eingeschränkten Konto anmelden zu müssen.
Standardmäßig haben Standardbenutzer nur Lesezugriff auf die systemweiten Teile der Registrierung, z. B. den HKLM-Zweig, und können nur Änderungen am HKCU-Zweig ihres eigenen Kontos vornehmen.
Wenn Sie die Registrierungsberechtigungen des Kontos weiter einschränken möchten, sollten Sie die entsprechenden Zweigstellen der Registrierung ändern, um die für das Benutzerkonto gewünschten Berechtigungen anzugeben. Sie können den Prozessmonitor von Microsoft verwenden, um zu sehen, auf welche Registrierungspfade der Zugriff erfolgt und dass möglicherweise geänderte Berechtigungen erforderlich sind.
Es ist zu beachten, dass fast alle Windows-Anwendungen für den ordnungsgemäßen Betrieb Zugriff auf die Registrierung benötigen. Das Blockieren eines solchen Zugriffs durch ein Großhandelsunternehmen hindert ein Programm wahrscheinlich daran, seine beabsichtigte Funktion auszuführen.
Mehr Informationen: