-2

我正在尝试使用 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 之前的数字或其他东西。

有没有我遗漏的步骤,非常感谢任何帮助。

谢谢你

4

1 回答 1

0

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

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

于 2012-04-04T02:15:57.093 回答