如何启动和终止一个NT服务

hotxu 2002-04-01 03:17:32
如何启动和终止一个NT服务
...全文
107 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hotxu 2002-04-01
  • 打赏
  • 举报
回复
OK,给分。
hotxu 2002-04-01
  • 打赏
  • 举报
回复
To caoguangxin(广昕)
好像这一段代码不管用,我用的是win2k.
caoguangxin 2002-04-01
  • 打赏
  • 举报
回复
看看这段代码吧:
SC_HANDLE scm,sHandle;
SERVICE_STATUS ServiceStatus;
scm=OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);
if (scm!=NULL)
{ //启动service
sHandle=OpenService(scm,"GwbnService",SERVICE_START);
if(sHandle!=NULL)
{ StartService(sHandle,0,NULL))//开始Service
}
//停止Service
sHandle=OpenService(scm,"GwbnService",SERVICE_STOP|SERVICE_QUERY_STATUS);
if(sHandle!=NULL)
QueryServiceStatus(sHandle,&ServiceStatus);
if(ServiceStatus.dwCurrentState == SERVICE_RUNNING || ServiceStatus.dwCurrentState == SERVICE_PAUSED)
{ ControlService(sHandle,SERVICE_CONTROL_STOP,&ServiceStatus);
}
//暂停Service
sHandle=OpenService(scm,"GwbnService",SERVICE_PAUSE_CONTINUE|SERVICE_QUERY_STATUS);
if(sHandle!=NULL)
QueryServiceStatus(sHandle,&ServiceStatus);
if(ServiceStatus.dwCurrentState == SERVICE_RUNNING)
{ ControlService(sHandle,SERVICE_CONTROL_PAUSE,&ServiceStatus);
}
//继续Service
sHandle=OpenService(scm,"GwbnService",SERVICE_PAUSE_CONTINUE|SERVICE_QUERY_STATUS);
if(sHandle!=NULL)
QueryServiceStatus(sHandle,&ServiceStatus);
if(ServiceStatus.dwCurrentState == SERVICE_PAUSED)
{ ControlService(sHandle,SERVICE_CONTROL_CONTINUE,&ServiceStatus);
}
}
kingcaiyao 2002-04-01
  • 打赏
  • 举报
回复
那么你需要用API函数来实现:
GetServiceStatus/SetServiceStatus
hotxu 2002-04-01
  • 打赏
  • 举报
回复
我是想让程序来控制一个服务的启动和终止,不是安装和卸载。
kingcaiyao 2002-04-01
  • 打赏
  • 举报
回复
你可以在控制面板中进行:
Control Panel->Administrator Tools->Service,你可在这里启动,暂停,终止一个服务程序。
当你将你的服务程序类型设置为Automatic,那么下次操作系统启动时,它就会自动启动(即出现WINDOWS的登录界面时),当然将服务程序加到控制面板中的服务管理器中,则只需你在BCB中开发服务程序时,记得运行你所开发的程序时,在run->parameters中加是/install或/uninstall,使用/uninstal参数表示卸载服务程序,在此之前一定要先终止服务程序,否则就会出错。/install是安装服务程序,第一次安装服务程序,服务程序加在控制面板中的服务管理器中,由你手工来启动它。

13,825

社区成员

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

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