1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
function Install(Name,Caption,Command:string):boolean;
var
scm:THandle;
srv:THandle;
begin
Result:=False;
scm:=OpenSCManagerA(nil, nil, SC_MANAGER_ALL_ACCESS);
if scm=0 then exit;
srv:= CreateServiceA(
scm,
PChar(Name), PChar(Caption),
SERVICE_ALL_ACCESS,
SERVICE_INTERACTIVE_PROCESS or SERVICE_WIN32_OWN_PROCESS,
SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL,
PChar(Command),
nil, nil, nil, nil, nil
);
if srv<>0 then begin
Result:=True;
CloseServiceHandle(srv);
end;
CloseServiceHandle(scm);
end; |
Partager