Windows服务问题

时间:2012-04-04 01:49:31

标签: c++ windows service

我正在尝试使用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或其他什么。

我是否缺少一个步骤,非常感谢任何帮助。

谢谢

1 个答案:

答案 0 :(得分:0)

您的服务需要与服务管理器(services.exe)通信,以报告和更新其当前状态。

请阅读http://msdn.microsoft.com/en-us/library/windows/desktop/ms687414%28v=vs.85%29.aspx