Za stopiranje servisa možeš koristiti nešto ovako:
Code:
uses ...WinSvc...
.
.
.
var
ch: array[0..512] of char;
w: cardinal;
manager, service: SC_Handle;
status: SERVICE_STATUS;
begin
w := sizeof(ch);
GetComputerName(ch, w);
manager := OpenSCManager(ch, nil, SC_MANAGER_ALL_ACCESS);
service := OpenService(manager, PChar('Themes'), SERVICE_ALL_ACCESS);
if ControlService(service, SERVICE_CONTROL_STOP, status) then
ShowMessage('Zaustavio servis');
end;
Ovaj kood zaustavlja servis 'Themes', umesto toga staviš ime nekog mrežnog servisa (ime koje vidiš u spisku servisa je 'Display name', pravo ime servisa vidiš kad otvoriš 'properities' servisa).
Malecka napomena: moguće je da i neki DB servisi (verovatno i neki drugi) koriste mrežne interfejse (zavisi kako se i šta koristi) pa treba biti oprezan sa isključivanjem mrežnih servisa.
A ako se ipak odlučiš za čačkanje po drajverima, srećno (you're gonna need it...)
ss.