我在Windows7计算机中注册了COM上下文菜单DLL(以显示资源管理器上下文菜单)。在DLL中,我检查了服务是否在我的系统中运行。该服务在“本地系统帐户”下运行。
我已按OpenSCManager
和QueryServiceStatus
检查了服务状态。它似乎在XP中没有任何问题。但在Windows7中,有时我会收到“拒绝访问”错误,有时我得到错误的结果...(例如,服务正在运行,但它显示状态为服务停止。)我不知道如何在Windows7中检查这一点。
我还检查了我的exe是否正在运行
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, aProcesses[i]);
但是当我作为服务运行时,这在Windows7中也无效。
有人可以更新我如何检查服务是否正在通过DLL运行?
注意:DLL由Explorer加载。
答案 0 :(得分:0)
您可能正在运行UAC(http://en.wikipedia.org/wiki/User_Account_Control),这可能会限制您从非管理上下文访问服务。以管理员身份运行资源管理器时,您的应用程序是否有效?