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
|
program test
uses windows, jwawinsvc, Classes, SysUtils, FileUtil;
Var
hwindow : THandle;
ClassName : String;
Cname : array[0..255] of char;
function MyServiceControlHandlerEntry(dwControl,dwEventType: DWord; lpEventData,lpContext : Pointer) : DWord; StdCall;
const
SErrNoControlContext = 'Not handling Control message without control context: (%d %d %d).';
begin
If (Nil<>lpContext) then
begin
CallLog('MyServiceController: '+Format('ControlCode - EventType : %d - %d',[dwControl,dwEventType]));
TDaemonController(lpContext).Controller(dwControl,dwEventType,lpEventData)
end
else
Application.Log(etError,Format(SerrNoControlContext,[dwControl,dwEventType,lpEventData]));
result:=NO_ERROR;
end;
Begin
ClassName := 'SystemTray Main';
StrPCopy(Cname, ClassName);
MYDAEMON_NAME:= FindWindow(CName,nil);
T:=RegisterServiceCtrlHandlerEx(MYDAEMON_NAME,@MyServiceControlHandlerEntry,Controller);
end. |
Partager