windows 服务程序里面开启线程导致,服务里面开启线程。启动服务,启动服务失败的有关问题!
windows 服务程序里面开启线程导致,服务里面开启线程。启动服务,启动服务失败的问题!!
启动服务后,提示某些服务在未由其他服务或程序使用时将自动停止。
我贴代码
ServiceMain()是 服务的
FileDeal只是个简单的线程,这个线程什么都没有做。
注释 CloseHandle(CreateThread(NULL,0,FileDeal,NULL,0,NULL));
这个服务就能正常启动了。
本人win7,32位系统。
与安全属性有关?还是其他的什么原因?
有经验的人指点一下。
------解决思路----------------------
你要保持的服务的呃ServiceMain一直运行,一般都是封装一个Run进入消息循环。这样服务才会一直运行
------解决思路----------------------
while循环都退出了.,子线程怎么执行
启动服务后,提示某些服务在未由其他服务或程序使用时将自动停止。
我贴代码
void WINAPI ServiceMain()
{
// Register the control request handler
status.dwCurrentState = SERVICE_START_PENDING;
status.dwControlsAccepted = SERVICE_ACCEPT_STOP;
//ClientRun(PathName,"Test-PsConvertTool.exe",3,1);
//注册服务控制
hServiceStatus = RegisterServiceCtrlHandler(szServiceName, ServiceStrl);
if (hServiceStatus == NULL)
{
LogEvent(_T("Handler not installed"));
return;
}
SetServiceStatus(hServiceStatus, &status);
status.dwWin32ExitCode = S_OK;
status.dwCheckPoint = 0;
status.dwWaitHint = 0;
status.dwCurrentState = SERVICE_RUNNING;
SetServiceStatus(hServiceStatus, &status);
//模拟服务的运行,10后自动退出。应用时将主要任务放于此即可
//ClientRun(PathName,"Test-PsConvertTool.exe",3,1);
int i=0;
while(i<1)
{
i++;
Sleep(700);
// CloseHandle(CreateThread(NULL,0,FileDeal,NULL,0,NULL));
}
status.dwCurrentState = SERVICE_STOPPED;
SetServiceStatus(hServiceStatus, &status);
LogEvent(_T("Service stopped"));
}
mian()
{
............
SERVICE_TABLE_ENTRY st[] =
{
{ szServiceName, (LPSERVICE_MAIN_FUNCTION)ServiceMain },
{ NULL, NULL }
};
int Flag =0;
Flag=StartServiceCtrlDispatcher(st);
{
int a=GetLastError();
LogEvent(_T("Register Service Main Function Error!"));
}
}
ServiceMain()是 服务的
FileDeal只是个简单的线程,这个线程什么都没有做。
注释 CloseHandle(CreateThread(NULL,0,FileDeal,NULL,0,NULL));
这个服务就能正常启动了。
本人win7,32位系统。
与安全属性有关?还是其他的什么原因?
有经验的人指点一下。
------解决思路----------------------
你要保持的服务的呃ServiceMain一直运行,一般都是封装一个Run进入消息循环。这样服务才会一直运行
------解决思路----------------------
while循环都退出了.,子线程怎么执行