Получение полного списка процессов Windows в C

Я занимаюсь разработкой простой библиотеки сбора статистики процессов для Windows. Я перечисляю процессы сEnumProcesses() функции, и я пытаюсь открыть их сOpenProcess() вызов с флагом PROCESS_QUERY_INFORMATION. Последний не работает для нескольких системных процессов. В то же время я вижу, что аналогичные приложения (инструменты sysinternals, диспетчер задач и т. Д.), По-видимому, могут получать информацию об этих процессах, даже не требуя прав администратора. Я попытался включить привилегию SeDebugPrivilege, но это помогло только тогда, когда я запустил свою программу от имени администратора - и все же я не смог открыть процесс ожидания, системный процесс и процесс audiodg (я хотел бы иметь возможность получить их информация для согласованности, а также).

Итак, вопрос: как я могу получить информацию оall процессы (я вижу, что это сделано сторонними приложениями, но я не вижу как)? Возможно ли это сделать без прав администратора?

Ответы на вопрос(1)

Ваш ответ на вопрос