Доступ OpenProcess отрицается для некоторых пользователейC++

Программы на C++. Форум разработчиков
Anonymous
Доступ OpenProcess отрицается для некоторых пользователей

Сообщение Anonymous »

У меня есть приложение, которое открывает еще один 32-разрядный процесс, не связанный с системой, и пытается получить список его загруженных модулей с помощью EnumProcessModuleSex и пути каждого модуля с GetModuleFilenameEx . Это хорошо работает в моей среде разработки (Windows 10) и для многих пользователей, которые протестировали приложение. Тем не менее, для некоторых пользователей (два пользователя, Windows 8.1 и Windows 10) Функция OpenProcess () не выполняет сбой с доступа (код ошибки 5) .

Я открываю процесс с помощью Process_query_information | Process_vm_read . Открытие процесса с помощью Process_query_limited_information работает, но затем EnumProcessModuleSex не удастся. Согласно моему тестированию, как Process_query_information , так и Process_vm_read , если используются отдельно, будут сбой OpenProcess () для пользователей с упомянутой проблемой. Также я считаю, что Process_query_information | Process_vm_read требуется для enumporcessmodulesex , поэтому попытка с меньшим количеством прав доступа не является опцией. OpenProcess () работает, а также приложение работает, как и ожидалось.hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processid);
< /code>

работает для большинства пользователей, но возвращает код ошибки 5, доступ к некоторым пользователям приложения отрицается. OpenProcess () затем работает хорошо. < /P>

Вопрос < /strong> < /p>

Почему доступ к некоторым пользователям отказывается, когда приложение выполняется без «запуска как администратор»? Есть ли альтернативный способ получить список модулей другого процесса без выполнения моего приложения в качестве администратора?

Подробнее здесь: https://stackoverflow.com/questions/357 ... some-users

Вернуться в «C++»