Entwickler-Ecke
Windows API - Dienst unter XP beenden
Jake 2.0 - Mo 01.10.07 18:02
Titel: Dienst unter XP beenden
Hallo Delphi-Forum =)
Ich hab mal wieder ne Frage,
Mein Dad hat nen älteren Laptop mit ner alten Version von GData's Antivirenprogramm ...
Aber für ihn reichts.
Manchmal schließt er den auch ans Firmennetzwerk an.
Das Problem ist nur das er selbst wenn er die Firewall auschaltet ...
Das antivirenprogramm überprüft noch alle Packete.
daher hat er ziemlich schlechte Übertragungsraten...
Er hat auch scho probiert den Dienst zu beenden.
also das Programm ... aber er bekommt die Fehlermeldung: "Zugriff verweigert"!
Aber mit dem Programm Cooky Pool Service Manager geht es.
KAnn man das auch irg in Delphi umsetzen?
Hatte eig an den Befehl RegisterServiceProcess gedacht.
Dieser ist ja aber unter SP2 XP nicht mehr in der kernel32.dll verfügbar ...
Gibt es einen anderen Weg?
Thx
Jake
Jake 2.0 - Mi 03.10.07 09:50
kann/will mir keiner helfen?
Jake
Delete - Mi 03.10.07 11:42
Das hat nichts mit RegisterServiceProcess zu tun. Dazu braucht man den Servicemanager:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| function ServiceStop(Machine, ServiceName: string): Boolean; var h_manager, h_svc: SC_Handle; ServiceStatus: TServiceStatus; dwCheckPoint: DWORD; begin h_manager := OpenSCManager(PChar(Machine), nil, SC_MANAGER_CONNECT); if h_manager > 0 then begin h_svc := OpenService(h_manager, PChar(ServiceName), SERVICE_STOP or SERVICE_QUERY_STATUS); if h_svc > 0 then begin if (ControlService(h_svc, SERVICE_CONTROL_STOP, ServiceStatus)) then begin if (QueryServiceStatus(h_svc, ServiceStatus)) then begin while (SERVICE_STOPPED <> ServiceStatus.dwCurrentState) do begin dwCheckPoint := ServiceStatus.dwCheckPoint; Sleep(ServiceStatus.dwWaitHint); if (not QueryServiceStatus(h_svc, ServiceStatus)) then break; if (ServiceStatus.dwCheckPoint < dwCheckPoint) then break; end; end; end; CloseServiceHandle(h_svc); end; CloseServiceHandle(h_manager); end;
Result := (SERVICE_STOPPED = ServiceStatus.dwCurrentState); end; |
Aber dazu braucht man auch administrative Rechte. Wie hat er denn versucht ihn zu beenden, dass er eine Fehlermeldung bekommen hat? Im Taskmanager den Prozess abschiessen geht nicht. Man muss ihn in der Computerverwaltung bei den Diensten anhalten.
Narses - Mi 03.10.07 11:42
Moin!
Kuckst du
http://msdn2.microsoft.com/en-us/library/ms685150.aspx :les:
Aber, ich wage mal in Frage zu stellen, ob das Verringern von Sicherheit Sinn machen sollte... :| Dann kannst du die entsprechende Software auch gleich deinstallieren. :nixweiss:
cu
Narses
//EDIT: Luckie war schneller... ;)
Jake 2.0 - Mi 03.10.07 20:47
hey
thx für die antworten
ich weiß das es eig. sinnlos ist den service zu stoppen.
Nur er hat so bei seiner Lananbindung vlt 3mb/s Übertragunsrate und das dauert einfach zu lang ...
Daher wollte er das in der zeit ausstellen ... damit er die Daten schneller rüberkriegt.
Das Firmennetzwerk ist eig. auch relativ sicher ...
Aber er wollte zur Sicherheit doch nen eingeschränktes Konto nehmen ...
bringt das eig was bei nem Virus? Wenn er vlt keine Schreibrechte bis auf einen Ordner hat?
Nur wenn er die Rechte braucht ums abzustellen ists ja egal ...
oder gibts noch nen andren Weg?
mfg Jake
Narses - Mi 03.10.07 23:04
Moin!
Jake 2.0 hat folgendes geschrieben: |
| ich weiß das es eig. sinnlos ist den service zu stoppen. |
:nixweiss:
Jake 2.0 hat folgendes geschrieben: |
| Nur er hat so bei seiner Lananbindung vlt 3mb/s Übertragunsrate |
Für ein altes Laptop finde ich das schon ganz OK.
Jake 2.0 hat folgendes geschrieben: |
| Das Firmennetzwerk ist eig. auch relativ sicher ... |
Wenn das einer im LAN auf meinem Job tun sollte, dann nehme ich ihm das Laptop auf der Stelle und ohne Diskussion ab :evil: er kann´s dann wieder beim Vorstand abholen... 8)
dein Vattilein sollte mal über diesen Aspekt nachdenken - sonst kann es passieren, dass eure Brötchen demnächst Mutti besorgen muss...
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!