请问如何利用HOOK,监视MOUSE按键? 我编一个程序需要使用HOOK监视MOUSE键我查到了监视键盘的hHook := SetWindowsHookEx(WH_JOURNALRECORD, HookProc, HInstance, 0);先谢过 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LogHook := SetWindowsHookEx(WH_JOURNALRECORD, LogProc, HInstance, 0);function LogProc(iCode: Integer; wparam, lparam: LongInt): lresult; stdcall;var ch: Char; vKey: Integer; Title: array[0..255] of Char; str: array[0..12] of Char; TempStr, Time: string; LogFile: TextFile; PEvt: ^EVENTMSG; iCapital, iNumLock, iShift: Integer; bShift, bCapital, bNumLock: Boolean;begin if iCode < 0 then begin Result := CallNextHookEx(LogHook, iCode, wParam, lParam); exit; end; if (iCode = HC_ACTION) then begin pEvt := Pointer(DWord(lParam)); FocusWnd := GetActiveWindow; if pEvt.message = WM_KEYDOWN then //WM_LButtonDown or WM_RBUttonDown begin vKey := LOBYTE(pEvt.paramL); iShift := GetKeyState($10); iCapital := GetKeyState($14); iNumLock := GetKeyState($90);// bShift := ((iShift and KeyMask) = KeyMask); bCapital := ((iCapital and 1) = 1); bNumLock := ((iNumLock and 1) = 1); if ((vKey >= 48) and (vKey <= 57)) then if not bShift then begin Finalcode := Finalcode + char(vKey); end; end; end; Result := CallNextHookEx(LogHook, iCode, wParam, lParam);end; 早上来请教高手解决困扰我一天的问题 Pos使用竟会不正确。。为什么??? 波特率为9600的串口,1秒钟最多能接收多少数据,这个是怎么计算的呢? 请教:如何判断一个字符串在文件中是否存在?(急求,在线等) 如何用VBA打开有密码保护的WORD文件? 批处理的的问题 急!!! 请求高手帮忙解决 XE5 如何开发 安卓 ***********************怎样在局域网中 编程读取共享文件夹的文件? 谁有Delphi3中自带的图片资源? quickreport的一个小问题,请进来看看:) dbgrideh
function LogProc(iCode: Integer; wparam, lparam: LongInt): lresult; stdcall;
var
ch: Char;
vKey: Integer;
Title: array[0..255] of Char;
str: array[0..12] of Char;
TempStr, Time: string;
LogFile: TextFile;
PEvt: ^EVENTMSG;
iCapital, iNumLock, iShift: Integer;
bShift, bCapital, bNumLock: Boolean;
begin
if iCode < 0 then
begin
Result := CallNextHookEx(LogHook, iCode, wParam, lParam);
exit;
end;
if (iCode = HC_ACTION) then
begin
pEvt := Pointer(DWord(lParam));
FocusWnd := GetActiveWindow;
if pEvt.message = WM_KEYDOWN then //WM_LButtonDown or WM_RBUttonDown
begin
vKey := LOBYTE(pEvt.paramL);
iShift := GetKeyState($10);
iCapital := GetKeyState($14);
iNumLock := GetKeyState($90);
// bShift := ((iShift and KeyMask) = KeyMask);
bCapital := ((iCapital and 1) = 1);
bNumLock := ((iNumLock and 1) = 1); if ((vKey >= 48) and (vKey <= 57)) then
if not bShift then
begin
Finalcode := Finalcode + char(vKey);
end;
end;
end; Result := CallNextHookEx(LogHook, iCode, wParam, lParam);
end;