我在using中创建了一个windows service
应用程序。在函数中,调用另一个函数,其主体包含以下代码:C++
Visual Studio 2013
main()
SERVICE_TABLE_ENTRY SerTable[] =
{
{ const_cast<char *>(ServiceName.c_str()), (LPSERVICE_MAIN_FUNCTION)ServiceMain },
{ NULL, NULL }
};
int res = StartServiceCtrlDispatcher(SerTable);
if (res == 0)
{
DEBUG_LOG(ServiceName+":StartServiceCtrlDispatcher failed", GetLastError());
return QERROR;
}
我的 main() 函数还包含system("start notepad");
我可以成功构建程序并生成可执行文件。现在我尝试使用OpenSCManager()
, 和. 从另一个程序打开这个 exe CreateService()
。通过这种方式,服务被创建并列在下面Services.msc
。我右键单击并启动了该服务,它显示status
为started
. 但是什么也没发生。。
现在,如果我双击我的exe
它会显示消息:error 1063: StartServiceControldispatcher Failed
然后打开记事本。
为什么下启动服务时记事本打不开Services.msc
?