2014-01-29 1 views
2

Я хотел бы знать, как вы можете найти полное местоположение процесса без повышенных прав. Я попытался сделать это с помощью PROCESS_QUERY_INFORMATION, но для этого требуются привилегии администратора. Его очень легко сделать в C# без повышенных прав, но я не могу найти решение на C++. Любая помощь?C++ Получить местоположение файла процесса без повышенных прав

+0

Как вы это делаете в C#? – RichieHindle

ответ

2

QueryFullProcessImageName требуется только PROCESS_QUERY_LIMITED_INFORMATION права, которым не нужны привилегии администратора.

+0

Спасибо! Я уже пробовал это, но потом это «не сработало». Я продолжал проверять возвращаемое значение GetLastError, но я забыл сбросить его с помощью SetLastError. Оказывается, он, возможно, уже работал – user2073973

+1

GetLastError дает только содержательное значение, если предыдущий API не удался. Сброс с помощью SetLastError не является надежным, потому что функция API может изменить значение ошибки, даже если функция не сработает. Другими словами, вы должны вызывать только GetLastError, если QueryFullProcessImageName возвращает FALSE. – arx

Смежные вопросы