想用这个函数暂停某windows服务,但是运行没反映,hSCM的值为NULL
高手指教一下是哪的问题? CString serviceName;
serviceName = m_service.GetItemText(sel, 0);//从列表中读取服务名称,
//我调试过,这步没有出错
SC_HANDLE hSCM; BOOL success;
//SERVICE_STATUS svcStatus; SC_HANDLE scman = ::OpenSCManager
(NULL,NULL,SC_MANAGER_ALL_ACCESS);
hSCM=OpenService(scman,serviceName,SERVICE_ALL_ACCESS); success=ControlService(hSCM,SERVICE_CONTROL_PAUSE,NULL);//暂停服务
高手指教一下是哪的问题? CString serviceName;
serviceName = m_service.GetItemText(sel, 0);//从列表中读取服务名称,
//我调试过,这步没有出错
SC_HANDLE hSCM; BOOL success;
//SERVICE_STATUS svcStatus; SC_HANDLE scman = ::OpenSCManager
(NULL,NULL,SC_MANAGER_ALL_ACCESS);
hSCM=OpenService(scman,serviceName,SERVICE_ALL_ACCESS); success=ControlService(hSCM,SERVICE_CONTROL_PAUSE,NULL);//暂停服务
解决方案 »
- 垂泪。。MFC中把二叉树递归的用ctreectrl表示出来
- 什么叫打开对象的句柄
- 帮忙看看一个小程序...非常感谢
- 求ADO中查询结果转成txt文件的方案。
- 急!!在线等!怎样通过VC调用DCOM服务的问题?请各位大侠指点!谢谢!
- 请问在获得一个控件句柄后如何得知它是隐藏的还是可见的?
- 请问在VC中怎样实现将查询的记录以TXT格式保存的功能?
- 哪里有notepad的源程序,请告诉我,我想学习学习!
- dll调用
- WinSocket:什么是“The specified address is not available from the local machine.”
- 关于连接服务器内存增长问题?
- 一个看似简单的功能,确不知道如何实现!
1.serviceName名错误(注意不要误用显示名)
2.要求的权限过高.如仅想执行停止服务的操作,可这样尝试,如果失败注意dwLastError值
hSCM=OpenService(
scman,
serviceName,
SERVICE_STOP | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS );if(hSCM == NULL)
{
DWORD dwLastError = GetLastError();
}