Windows Dienst der nach Installation startet
-
Hi an alle, habe gerade einen Dienst programmiert. Jetzt möchte ich dass dieser Dienst nach dem Installieren gestartet wird.
In einem Tutorial habe ich gelesen, dass es folgendermaßen funktionieren müsste:
if(InstallService()) { printf("\n\nService Installed Sucessfully\n"); SERVICE_TABLE_ENTRY ServiceTable[2]; ServiceTable[0].lpServiceName = L"David Report Service"; ServiceTable[0].lpServiceProc = (LPSERVICE_MAIN_FUNCTION)ServiceMain; ServiceTable[1].lpServiceName = NULL; ServiceTable[1].lpServiceProc = NULL; // Start the control dispatcher thread for our service if(!StartServiceCtrlDispatcher(ServiceTable)) { DWORD dw = GetLastError(); TCHAR szBuf[80]; LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL ); wsprintf(szBuf, L"StartServiceCtrlDispatcher failed with error %d: %s", dw, lpMsgBuf); WriteToLog(reinterpret_cast<char*>(szBuf)); } }Leider stürzt der Service beim Aufruf von StartServiceCtrlDispatcher ab mit der Meldung 1063: The service process could not connect to the service controller.
Was ist hier falsch???Gruß
mr.main