有关win2000服务的问题?

vcshcn 2003-07-08 04:11:59
如何检测一个服务是否存在,如何启动一个服务,如何停止一个服务?
...全文
23 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihanbing 2003-07-09
  • 打赏
  • 举报
回复
API怎么用我就不说了,句柄就是一个数,代表你要操作的那个对象
先用
hSCManager = OpenSCManager(Null,NUll,SC_MANAGER_ALL_ACCESS)
打开管理器
再用
hManager = OpenService(hSCManager, "服务名字",SERVICE_ALL_ACCESS)
打开服务
服务名字从计算机管理中的属性页中就可以看到
返回值hManager 要是0就没打开,不是0就打开了,
如果没打开GetLastError() = ERROR_SERVICE_DOES_NOT_EXIST就是没有这个服务
详细的用法参见MSDN
vcshcn 2003-07-08
  • 打赏
  • 举报
回复
有没有注册表的方法
vcshcn 2003-07-08
  • 打赏
  • 举报
回复
是否可以用打开一个服务来判断服务是否存在呢?
那个句柄是什么?能不能给点例子
lihanbing 2003-07-08
  • 打赏
  • 举报
回复
用下列API函数
打开服务管理器
SC_HANDLE OpenSCManager(
LPCTSTR lpMachineName, // pointer to machine name string
LPCTSTR lpDatabaseName, // pointer to database name string
DWORD dwDesiredAccess // type of access
);
打开一个服务
SC_HANDLE OpenService(
SC_HANDLE hSCManager, // handle to service control manager
// database
LPCTSTR lpServiceName, // pointer to name of service to start
DWORD dwDesiredAccess // type of access to service
);
关闭服务或管理器的句柄
BOOL CloseServiceHandle(
SC_HANDLE hSCObject // handle to service or service control
// manager database
);
设置服务的状态包括运行,停止,暂停等
BOOL SetServiceStatus(
SERVICE_STATUS_HANDLE hServiceStatus~,
// service status handle
LPSERVICE_STATUS lpServiceStatus // address of status structure
);

7,763

社区成员

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

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