我正在尝试使用c ++运行Windows服务。该服务暂时没有做任何特别的事情。服务运行的代码是
int main(int argc, char** argv) {
if (argc != 1) return -1;
ofstream fTestFile;
fTestFile.open("C:\\ABC\\ServiceTest.txt", ios::app);
fTestFile << "argc=" << argc << endl;
for (int i=0;i <argc;i++)
fTestFile << "argv " << i << "=: " <<argv[i] << endl;
for (int i=0; i<100000; i++) {
fTestFile << i << ",";
if (i % 50 == 0) fTestFile << "\n";
Sleep(10);
}
fTestFile << "\n";
return 0;
}
当我通过services.msc在此服务上单击“开始”时,服务尝试启动但失败(1053错误需要太长时间才能响应)。在servicetest.txt文件中,我看到一些数据,比如我看到调试语句,我看到的数字直到2663或其他什么。
我是否缺少一个步骤,非常感谢任何帮助。
谢谢
答案 0 :(得分:0)
您的服务需要与服务管理器(services.exe)通信,以报告和更新其当前状态。
请阅读http://msdn.microsoft.com/en-us/library/windows/desktop/ms687414%28v=vs.85%29.aspx