SetwindowsHookEx函数(WH_KEYBOARD)调用DLL中的一个函数,以此来实现对系统键盘消息的监视,但为什么每次DLL向主程序(通过指针)传参

  • 主题发起人 主题发起人 小乖
  • 开始时间 开始时间

小乖

Unregistered / Unconfirmed
GUEST, unregistred user!
SetwindowsHookEx函数(WH_KEYBOARD)调用DLL中的一个函数,以此来实现对系统键盘消息的监视,但为什么每次DLL向主程序(通过指针)传参数的时候非法操作?(在自己的FORM中正常).(50分)<br />SetwindowsHookEx函数(WH_KEYBOARD)调用DLL中的一个函数,以此来实现对系统键盘消息的监视,但为什么每次DLL向主程序(通过指针)传参数的时候非法操作?(在自己的FORM中正常).
谢谢


没多少分了........谁能给我点儿分儿?
 
用自定义消息向主程序传
主程序中定义一个消息:
const
WM_myMsg=WM_USER+0;
dll中写个取值函数
function GetValue():integer; stdcalll;
begin
Result:=XX;//你要传的东东
end;
exports
GetValue;

在主程序中:
function GetValue():integer; stdcall; external 'XX.dll';
procedure WM(var msg:TMessage); message; WM_myMsg;

procedure WM(var msg:TMessage);
var
i:integer;
begin
i:=GetValue();//主程序中的i取得你dll 中传出的东东
end;

在dll 中用PostMessage(主程序句柄,WM_USER+0,0,0);
激发主程序取值
 
接受答案了.
 
后退
顶部