服务程序问题,我参考了很多服务程序的例子,为什么每次启动服务程序是,都会启动失败,每次都是意外终止。

vmile925 2008-03-26 05:04:33
希望那位高手能给个详细的说明,谢谢喽,我的QQ是365808871.
...全文
77 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cccckaiji 2008-04-17
  • 打赏
  • 举报
回复
学习ing
wwp3321 2008-04-17
  • 打赏
  • 举报
回复
csdn搜一边先
MEFULEU 2008-04-17
  • 打赏
  • 举报
回复

SERVICE_STATUS_HANDLE ssh;
LPSERVICE_STATUS ss;
int main(int argc, char **argv)
{
SERVICE_TABLE_ENTRY ste[2]; //一个Service进程可以有多个线程,这是每个线程的入口表
ste[0].lpServiceName="W.Z.SERVICE"; //线程名字
ste[0].lpServiceProc=ServiceMain;//线程入口地址
ste[1].lpServiceName=NULL; //最后一个必须为NULL
ste[1].lpServiceProc=NULL;
StartServiceCtrlDispatcher(ste);
return 0;
}
void WINAPI ServiceMain(DWORD dwArgc,LPTSTR *lpszArgv)
{
ssh=RegisterServiceCtrlHandler("W.Z.SERVICE",Handler);
ss.dwServiceType=SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS;
ss.dwCurrentState=SERVICE_START_PENDING;//file://如用户程序的代码比较多(执行时间超过1秒),这儿要设成SERVICE_START_PENDING,待用户程序完成后再设为SERVICE_RUNNING。
ss.dwControlsAccepted=SERVICE_ACCEPT_STOP;//表明Service目前能接受的命令是停止命令。
ss.dwWin32ExitCode=NO_ERROR;
ss.dwCheckPoint=0;
ss.dwWaitHint=0;
SetServiceStatus(ssh, &ss);
//file://必须随时更新数据库中Service的状态。
// Mycode(); file://这儿可放入用户自己的代码
ss.dwServiceType=SERVICE_WIN32_OWN_
PROCESS|SERVICE_INTERACTIVE_PROCESS;
ss.dwCurrentState=SERVICE_RUNNING;
ss.dwControlsAccepted=SERVICE_ACCEPT_STOP;
ss.dwWin32ExitCode=NO_ERROR;
ss.dwCheckPoint=0;
ss.dwWaitHint=0;
SetServiceStatus(ssh,&ss);
// Mycode();// 这儿也可放入用户自己的代码
}
void WINAPI Handler(DWORD Opcode)
{
switch(Opcode)
{
case SERVICE_CONTROL_STOP: // file://停止Service
//Mycode();//这儿可放入用户自己的相关代码
ss.dwWin32ExitCode = 0;
ss.dwCurrentState =SERVICE_STOPPED;//file://把Service的当前状态置为STOP
ss.dwCheckPoint = 0;
ss.dwWaitHint = 0;
SetServiceStatus (ssh,&ss);//必须随时更新数据库中Service的状态
break;
case SERVICE_CONTROL_INTERROGATE:
SetServiceStatus (ssh,&ss);//必须随时更新数据库中Service的状态
break;
}
}
vmile925 2008-03-26
  • 打赏
  • 举报
回复
希望哪位高手给指点指点,在此谢过

1,221

社区成员

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

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