如何监控win2000的某项服务是否停止?如何启动它?

bcboy 2003-06-19 08:16:34
如何监控win2000的某项服务是否停止?如何启动它?
...全文
35 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuv2002 2003-06-19
  • 打赏
  • 举报
回复
OpenService 的参数是服务名称,里面不能包含有空格等字符的
不是在系统管理选项里面显示的名称,例如
"Plug and Play" 是显示的名称
其服务实际名称应为"PlugPlay"
huang_jihua 2003-06-19
  • 打赏
  • 举报
回复
楼上服务的名字是否正确
bcboy 2003-06-19
  • 打赏
  • 举报
回复
用OpenService()打开World Wide Web Publishing Service服务却提示:

指定的服务并未以已安装的服务存在.

但WWW服务明明已安装了.
yingyys 2003-06-19
  • 打赏
  • 举报
回复
呵呵,v2002(XuWei) 好强
xuv2002 2003-06-19
  • 打赏
  • 举报
回复
SC_HANDLE handle = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
SERVICE_STATUS status;
SC_HANDLE hwnd = OpenService(handle,"MSQLServer",SERVICE_ALL_ACCESS);
QueryServiceStatus(hwnd,&status);
AnsiString str;
switch(status.dwCurrentState){
case SERVICE_STOPPED :
str = "Stopped"; break;
case SERVICE_START_PENDING:
str = "start_pending"; break;
case SERVICE_STOP_PENDING :
str = "stop_pending"; break;
case SERVICE_RUNNING :
str = "running"; break;
case SERVICE_CONTINUE_PENDING :
str = "continue_pending"; break;
case SERVICE_PAUSE_PENDING :
str = "pause_pending"; break;
case SERVICE_PAUSED :
str = "paused"; break;
}
if(status.dwCurrentState == SERVICE_STOPPED ){
StartService(hwnd,0,0); //后面两个参数
//前一个服务启动参数的个数,后一个是参数的字符串
}
CloseServiceHandle(hwnd);
CloseServiceHandle(handle);
ShowMessage(str);

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧