wish  
日历
<2008年2月>
272829303112
3456789
10111213141516
17181920212223
2425262728291
2345678
统计
  • 随笔 - 4
  • 文章 - 1
  • 评论 - 34
  • 引用 - 0

导航

常用链接

留言簿(8)

随笔档案

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 
一个简单的服务管理程序,用于创建/修改/删除Win32服务(未涉及内核服务,如tcpip,afd等)。

除此之外可以作为服务的宿主,命令行为:
"ServiceHost.exe" service "somedll.dll" "arg1" "arg2" ......

somedll.dll需要导出Start,Stop,Continue,Pause,Shutdown(可选,用于处理系统关闭事件),RequestStop(可选,用于服务主动要求停止)

函数原型:
DWORD WINAPI Start(int argc, TCHAR * const *argv); // 参数argv[n]即为arg1,arg2,...,返回0表明成功,其它值表明失败

DWORD WINAPI Stop();
DWORD WINAPI Shutdown();
DWORD WINAPI Pause(); // 返回0表明成功,其它值表明失败
DWORD WINAPI Continue(); // 返回0表明成功,其它值表明失败
DWORD WINAPI RequestStop(DWORD (CALLBACK*)(DWORD dwErrorCode)); // 参数是一个函数指针。服务在启动时,DLL中的RequestStop(如果存在的话)将被调用,DLL可保存此函数指针。服务成功启动后,在任何需要的时候,DLL都可以通过调用此函数指针来主动要求停止服务(参数dwErrorCode为错误代码,dwErrorCode为0表明无错误)

可执行文件    源代码
posted on 2008-02-02 14:22 阅读(1563) 评论(2)  编辑 收藏 引用
评论:

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


 
Copyright © 淼 Powered by: 博客园 模板提供:沪江博客