Hilfe - Windows Dienst beenden
-
Hi Leute!
Ich weiß das Thema wurde hier schon mehrfach beschrieben und durch gekaut.
UND trotzdem hab ich damit meine Probleme.
MSDN von Microsoft hab ich auch schon durch gegrast und mir die entsprechenden Beispiele / Erläuterungen angeschaut.Ich verwende Borland Developer Studio 2006 und ich will den Dienst MySQL beenden.
#include windows.h #include winsvc.h ... //----------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { SC_HANDLE hSCManager; SC_HANDLE hService; hSCManager = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS); hService = OpenService(hSCManager,"MySQL",GENERIC_EXECUTE); hService = OpenService(hSCManager,"MySQL",SERVICE_CONTROL_STOP); CloseServiceHandle(hSCManager); CloseServiceHandle(hService); }
Auch die advapi32.lib habe ich dem Project hinzugefügt (sollte eigentlich mit der winsvc.h erledigt).
Doch wenn ich mir die Dienste anzeigen lasse, ändert sich der Status von MySQL nicht.
Was mich ebenfalls verwundert, es kommen keine Fehlermeldungen. Dabei ist es egal ob ich MySQL oder nur Test eintrage.
Mit GetLastError() Bekomme ich den Code 0.Ich hoffe Einer nimmt sich meiner an und hilft mir etwas.
-- EDIT --
Habs gefunden!
In der Anweisung hat noch eine "Kleinigkeit" gefehlt.{ HANDLE hSCManager; HANDLE hService; SERVICE_STATUS status; hSCManager = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS); hService = OpenService(hSCManager,"MySQL",SERVICE_STOP); ControlService(hService, SERVICE_CONTROL_STOP, &status); CloseServiceHandle(hSCManager); CloseServiceHandle(hService); }
Falls jemand dennoch Anregungen oder Sonstiges an Info's hat, bin ich dankbar.
Grüße