一个单独的DLL,只能勾局部的,为什么不能勾全局?var
hhk: HHOOK;function MsgHookProc(ACode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
Msg: PMsg;
begin
if ACode < 0 then
Result := CallNextHookEx(hhk, ACode, wParam, lParam)
else begin
Msg := PMsg(lParam);
OutputDebugString(PChar(IntToHex(Msg^.message, 8)));
Result := CallNextHookEx(hhk, ACode, wParam, lParam);
end;end;procedure InstallHook();
begin
if hhk = 0 then
hhk := SetWindowsHookEx(WH_GETMESSAGE, @MsgHookProc, HInstance, 0);
end;procedure UninstallHook();
begin
if hhk <> 0 then
begin
UnhookWindowsHookEx(hhk);
hhk := 0;
end;
end;exports
InstallHook,
UninstallHook;
hhk: HHOOK;function MsgHookProc(ACode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
Msg: PMsg;
begin
if ACode < 0 then
Result := CallNextHookEx(hhk, ACode, wParam, lParam)
else begin
Msg := PMsg(lParam);
OutputDebugString(PChar(IntToHex(Msg^.message, 8)));
Result := CallNextHookEx(hhk, ACode, wParam, lParam);
end;end;procedure InstallHook();
begin
if hhk = 0 then
hhk := SetWindowsHookEx(WH_GETMESSAGE, @MsgHookProc, HInstance, 0);
end;procedure UninstallHook();
begin
if hhk <> 0 then
begin
UnhookWindowsHookEx(hhk);
hhk := 0;
end;
end;exports
InstallHook,
UninstallHook;
解决方案 »
- 如何在编辑dataset当前行的数据时,找到需要的其他行,并更改他的数据
- 字符变量赋给长整型字段
- delphi如何检测一个字符是否为数字?
- 记录的统计问题,等待!
- 用fastreport如何增加记录的序号
- @@@@@@打印问题!!!多页打印,合计总是打印最后一个.?????????????真是想不想原因,!!!!!!!!
- 用Package安装新组件的时候,不知道为什么,总是把以前安装的组件替换掉了,为什么?
- Ado 如何连接oracle数据如何连接Oracle数据库
- 控制第三方程序多级菜单问题
- 16:15 中国对0:2落后!!!!
- Oracle时间转换函数
- 在delphi7环境中如何实现按以下格式的导出到excel中去
这种代码应该很多。
后来意识到这个问题,用发送消息的方式试了一下,还是不行。