查看windows服务状态

wyb_45 2005-12-07 04:30:07
如题:
比如一个服务的状态是 运行还是停止
就象在《管理》-《服务》里看到的一样
...全文
303 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
donwmufromdying 2005-12-15
  • 打赏
  • 举报
回复
very good!
wyb_45 2005-12-08
  • 打赏
  • 举报
回复
ok
疑问:比使用《管理》-《服务》里看的内容多那么多呢?
constantine 2005-12-07
  • 打赏
  • 举报
回复
OpenSCManager("",NULL, SC_MANAGER_CONNECT); 第一个参数是机器名,如果需要可以使用,具体看看帮助吧

constantine 2005-12-07
  • 打赏
  • 举报
回复
SC_HANDLE schm, schs;
SERVICE_STATUS SrvStatus;
DWORD dwChkPoint;
schm = OpenSCManager("",NULL, SC_MANAGER_CONNECT);
if(schm > 0)
{ //下面的ServiceName是服务的名字自己注意了
schs = OpenService(schm, ServiceName.c_str(), SERVICE_START | SERVICE_QUERY_STATUS);
if(schs > 0)
{
if(QueryServiceStatus(schs,&SrvStatus))
{
if(SrvStatus.dwCurrentState==SERVICE_RUNNING)
ShowMessage("run");
else
ShowMessage("stop");
}
}
CloseServiceHandle(schs);
}
CloseServiceHandle(schm);
constantine 2005-12-07
  • 打赏
  • 举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char buf[1024];
DWORD dwNum;
DWORD dwSize;
DWORD dwHandle;
SC_HANDLE hManager;
AnsiString ErrorMsg;
LPENUM_SERVICE_STATUS pService;
ListView1->Clear();
hManager = OpenSCManager(NULL, NULL,
SC_MANAGER_ENUMERATE_SERVICE);
pService = (LPENUM_SERVICE_STATUS)buf;
for(dwHandle=NULL; true; ) {
if (!EnumServicesStatus(hManager,
SERVICE_WIN32|SERVICE_DRIVER,
SERVICE_INACTIVE|SERVICE_ACTIVE,
pService,sizeof(buf),&dwSize,
&dwNum,&dwHandle)) {
DWORD dwError = GetLastError();
if (ERROR_MORE_DATA!=dwError) {
ErrorMsg = SysErrorMessage(
dwError);
ShowMessage(ErrorMsg);
break;
}
}
for(int n=0; n<(int)dwNum; n++) {
TListItem* Item = ListView1->
Items->Add();
Item->Caption = pService[n].
lpServiceName;
Item->SubItems->Add(pService[
n].lpDisplayName);
if(pService[n].ServiceStatus.dwCurrentState==SERVICE_RUNNING)
Item->SubItems->Add("run");
else
Item->SubItems->Add("stop");
}
if (dwHandle==0) break;
}
CloseServiceHandle(hManager);
}

遍历所有服务的状态,如果需要那个服务自己改改

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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