|
#1
|
||||
|
||||
TService
Всем привет! Кто писал сервисы на Delphi, подскажите. Вот код сервиса:
Код:
unit Main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs, ExtCtrls, AppEvnts; type TService1 = class(TService) Timer1: TTimer; ApplicationEvents1: TApplicationEvents; procedure ServiceAfterInstall(Sender: TService); procedure ServiceStart(Sender: TService; var Started: Boolean); procedure ServiceStop(Sender: TService; var Stopped: Boolean); procedure Timer1Timer(Sender: TObject); private { Private declarations } public function GetServiceController: TServiceController; override; { Public declarations } end; var Service1: TService1; f: TextFile; Wnd: HWND; Pos: TPoint; buff: array[0..255] of char; NameClass: string; implementation {$R *.DFM} procedure ServiceController(CtrlCode: DWord); stdcall; begin Service1.Controller( CtrlCode ); end; function TService1.GetServiceController: TServiceController; begin Result := ServiceController; end; procedure TService1.ServiceAfterInstall(Sender: TService); var s: string; begin s := ExtractFilePath( Application.GetNamePath ) + 'test.txt'; AssignFile( f, s ); if FileExists( s ) then Append( f ) else Rewrite( f ); end; procedure TService1.ServiceStart(Sender: TService; var Started: Boolean); begin AfterInstall( Sender ); end; procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean); begin CloseFile( f ); end; procedure TService1.Timer1Timer(Sender: TObject); begin GetCursorPos( Pos ); Wnd := WindowFromPoint( Pos ); GetClassName( Wnd, buff, SizeOf( buff ) ); NameClass := StrPas( buff ); Writeln( f, DateTimeToStr( Now ) + ' ' + ClassName + Format( ' %d %d', [Pos.x,Pos.y] ) ); end; end. Цитата:
Последний раз редактировалось Decoding, 20.01.2007 в 02:34. |
#2
|
||||
|
||||
На счет пути, попробуй получать путь к собственной папке по-другому, например:
s := ExtractFileDir(ParamStr(0)) + '\test.txt'; А вот с классом окна - я чего-то в замешательстве, странно вообще... Попробуй реализовать на АПИ сервис,статьи поэтому поводу есть в делфи ворде... THE CRACKER IS OUT THERE |