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
| uses WinSvc;
...
procedure PushAutoMode(sMachine, FServiceName: string);
var schm, // handle du service control manager
schs: SC_Handle; // handle du service
begin
// connection au service control manager
schm := OpenSCManager(PChar(sMachine), Nil, SC_MANAGER_CONNECT);
if(schm > 0)then // si OK...
begin
// handle du service FServiceName
schs := OpenService(schm, PChar(FServiceName), SERVICE_START or SERVICE_QUERY_STATUS);
if(schs > 0)then // si OK...
begin
// Hop, en automatique :o)
ChangeServiceConfig(schs, // SC_HANDLE
SERVICE_NO_CHANGE, // DWORD
SERVICE_AUTO_START, // DWORD
SERVICE_NO_CHANGE, // DWORD
nil, // PChar
nil, // PChar
nil, // LPDWORD
nil, // PChar
nil, // PChar
nil, // PChar
PChar(FServiceName)); // PChar
end;
end;
end; |
Partager