做一个服务程序:其服务主函数sericemain代码如下:
void __stdcall ServiceMain( int argc, wchar_t* argv[] )
{
char svcname[256];
strncpy(svcname, (char*)argv[0], sizeof svcname); 
wcstombs(svcname, argv[0], sizeof svcname);
hSrv = RegisterServiceCtrlHandler( svcname, (LPHANDLER_FUNCTION)ServiceHandler );
    if( hSrv == NULL )
{
return;
}else FreeConsole();
    TellSCM( SERVICE_START_PENDING, 0, 1 );
    TellSCM( SERVICE_RUNNING, 0, 0 );hThread=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MainFn, (LPVOID)0, 0, &dwThreadId);do{
Sleep(10);//not quit until receive stop command, otherwise the service will stop
}while(dwCurrState != SERVICE_STOP_PENDING && dwCurrState != SERVICE_STOPPED);
    return;
}我在mainfn线程功能里面就加了一句代码
while(1)
{
 Sleep(100);
}
但在运行安装后,我一启动服务,就直接关闭!根本就不持续运行!
但我觉得我的代码没有什么问题呀!