我实际上什至不知道这里发生了什么,但我希望有人能帮助我。不久前,我创建了一个类来控制 Windows 服务,使用 Windows API SC。很长一段时间它工作正常,没有严重错误。但是今天我在我的项目中使用了这个类,当垃圾工作时(在 if 或函数中),我的应用程序崩溃了。只有当我尝试停止服务时才会崩溃。
int main() {
wchar_t serviceName[] = L"foo";
ServiceController *service = new ServiceController(serviceName);
if(!service->isRunning()){
service->start();
} else {
service->stop();
}
system("PAUSE");
return 0;
}
例如,当服务“foo”没有运行时,方法 start 启动服务并正常关闭应用程序,否则如果服务正在运行,方法 stop 停止服务,system("PAUSE");
正常工作,但返回后应用程序崩溃。
我已经尝试了一切,但没有任何帮助。
该课程可以在这里找到
谢谢!
编辑:在事件查看器上我可以发现这个错误:
Faulting application name: stop.exe, version: 0.0.0.0, time stamp: 0x02430cb0
Faulting module name: ntdll.dll, version: 6.1.7600.16385, time stamp: 0x4a5bdadb
Exception code: 0xc0000005
Fault offset: 0x00055668
Faulting process id: 0xb90
Faulting application start time: 0x01d07389e28c97f4
Faulting application path: C:\Users\CacicQT86\Documents\build-stop-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\stop.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 20ceff7a-df7d-11e4-905d-08002754d7a4