wish  
日历
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
统计
  • 随笔 - 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 @ 2008-02-02 14:22 淼 阅读(1558) | 评论 (2)编辑 收藏
 
     摘要: 在GUI程序中使用cout/cin/printf  阅读全文
posted @ 2007-05-08 19:57 淼 阅读(3409) | 评论 (12)编辑 收藏
 
Copyright © 淼 Powered by: 博客园 模板提供:沪江博客