Für einige Benutzer wird der OpenProcess-Zugriff verweigertC++

Programme in C++. Entwicklerforum
Guest
 Für einige Benutzer wird der OpenProcess-Zugriff verweigert

Post by Guest »

Ich habe eine Anwendung, die einen anderen 32-Bit-Prozess außerhalb des Systems öffnet und versucht, mit EnumProcessModulesEx eine Liste seiner geladenen Module und mit GetModuleFileNameEx den Pfad jedes Moduls abzurufen. Es funktioniert gut in meiner Entwicklungsumgebung (Windows 10) und bei vielen Benutzern, die die Anwendung getestet haben. Allerdings schlägt bei einigen Benutzern (zwei Benutzer, Windows 8.1 und Windows 10) die OpenProcess()-Funktion mit Zugriff verweigert (Fehlercode 5).

Ich öffne den Prozess mit PROCESS_QUERY_INFORMATION | PROCESS_VM_READ. Das Öffnen des Prozesses mit PROCESS_QUERY_LIMITED_INFORMATION funktioniert, aber dann schlägt EnumProcessModulesEx fehl. Nach meinen Tests führen sowohl PROCESS_QUERY_INFORMATION als auch PROCESS_VM_READ bei alleiniger Verwendung dazu, dass OpenProcess() für Benutzer mit dem genannten Problem fehlschlägt. Ich glaube auch, dass PROCESS_QUERY_INFORMATION | PROCESS_VM_READ ist für EnumPorcessModulesEx erforderlich, daher ist der Versuch mit weniger Zugriffsrechten keine Option.

Wenn die Anwendung jedoch mit „< strong>Als Administrator ausführen“, tritt dieses Problem nicht mehr auf. OpenProcess() funktioniert und auch die Anwendung funktioniert wie erwartet.

Das Problem

Code: Select all

hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processid);
Funktioniert für die meisten Benutzer, gibt jedoch den Fehlercode 5 zurück, der Zugriff wird für einige Benutzer der Anwendung verweigert.

Teillösung

...besteht darin, die Anwendung als Administrator auszuführen. OpenProcess() funktioniert dann gut.

Frage

Warum wird der Zugriff verweigert? einige Benutzer, wenn die Anwendung ohne „Als Administrator ausführen“ ausgeführt wird? Gibt es eine alternative Möglichkeit, eine Liste der Module eines anderen Prozesses abzurufen, ohne meine Anwendung als Administrator auszuführen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post