在别的程序也想?那要钩子的!给你源代码吧。
unit Unit1;
interface
uses
; Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
; StdCtrls;
type
; TForm1 = class(TForm)
; ; BtnSet: TButton;
; ; BtnEnd: TButton;
; ; procedure BtnSetClick(Sender: TObject);
; ; procedure BtnEndClick(Sender: TObject);
; private
; ; { Private declarations }
; public
; ; { Public declarations }
; end;
function HookPro(iCode:Integer;wParam:wParam;lParam:lParam):lResult;stdcall;
var
; Form1: TForm1;
; hHook:Integer;
; HookFile:TextFile;
; fHandle,lHandle:THandle;
; Cpt:string;
; EvtMsg:TEventMsg;
;
implementation
{$R *.DFM}
function HookPro(iCode:Integer;wParam:wParam;lParam:lParam):lResult;stdcall;
var SysTime:String;
begin
; ;if iCode<0 then
; ; ; result:=CallNextHookEx(hHook,iCode,wParam,lParam)
; ;else
; ;begin
; ; EvtMsg:=PEventMsg(lParam)^;
; ; if (EvtMsg.message =WM_lBUTTONDOWN) or (EvtMsg.message=WM_RBUTTONDOWN) then
; ; begin
; ; ; lHandle:=GetActiveWindow();
; ; ; if not(fHandle=lHandle) then
; ; ; begin
; ; ; ; SetLength(Cpt,256);
; ; ; ; GetWindowText(lHandle,pChar(Cpt),256);
; ; ; ; SetLength(Cpt,StrLen(pChar(Cpt)));
; ; ; ; AssignFile(HookFile,'Hook.txt');
; ; ; ; if not FileExists('Hook.txt') then
; ; ; ; ; ReWrite(HookFile)
; ; ; ; else
; ; ; ; ; Append(HookFile);
; ; ; ; SysTime:=TimetoStr(now)+'打开:';
; ; ; ; Writeln(HookFile,SysTime,Cpt);
; ; ; ; CloseFile(HookFile);
; ; ; end;
; ; fHandle:=GetActiveWindow();
; ;end;
; ;result:=200;
; ;end;
end;
procedure TForm1.BtnSetClick(Sender: TObject);
begin
; hHook:=SetWindowsHookEx(WH_JOURNALRECORD,HookPro,HInstance,0);
end;
procedure TForm1.BtnEndClick(Sender: TObject);
begin
; UnhookWindowsHookEx(hHook);
; ShowMessage('你的使用过程被记录在'+ExtractFilePath(Application.ExeName)+'Hook.Txt'+'下');
end;
end.