Проверьте, что Сервис запущен из DLL - PullRequest
1 голос
/ 30 июля 2010

Я зарегистрировал библиотеку DLL контекстного меню COM (для отображения контекстных меню проводника) на компьютере с Windows7. В DLL я проверил, работает ли сервис в моей системе. Служба работает под «учетной записью локальной системы».

Я проверил статус услуги по OpenSCManager и QueryServiceStatus. Кажется, работает в XP без каких-либо проблем. Но в Windows7 иногда я получаю ошибку «Отказано в доступе», а иногда я получаю неправильный результат ... (например, служба работает, но показывает состояние остановки службы). Я не уверен, как это проверить в Windows7.

Я также проверил, работает ли мой exe

HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, aProcesses[i]);

но это также не работает в Windows7, когда я работаю в качестве службы.

Может кто-нибудь сообщить мне, как проверить, работает ли Сервис через DLL?

Примечание. DLL загружается Проводником.

1 Ответ

0 голосов
/ 10 сентября 2011

Возможно, вы работаете в UAC (http://en.wikipedia.org/wiki/User_Account_Control),, что может ограничивать ваш доступ к службам из неадминистративного контекста. Работает ли ваше приложение, когда вы запускаете Explorer от имени администратора?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...