我用一个键盘钩子,将栏下的键sendmessage给主程序调用,设msg=$1400
当我用api创建的主程序窗口能收到这个消息并处理
而当我用delphi自动创建的窗口却收不到消息
消息函数是
Function WndProc(Window : hWnd; Msg,WParam,LParam : Integer): Integer; StdCall;
var
k:longint; //扫描码Begin
Result := 0;
Case Msg of
$1400:begin
……
end
怎么会不一样呢?
当我用api创建的主程序窗口能收到这个消息并处理
而当我用delphi自动创建的窗口却收不到消息
消息函数是
Function WndProc(Window : hWnd; Msg,WParam,LParam : Integer): Integer; StdCall;
var
k:longint; //扫描码Begin
Result := 0;
Case Msg of
$1400:begin
……
end
怎么会不一样呢?
解决方案 »
- 动态参数的问题
- 并口的问题
- 求相片处理控减!!!!!!!!!!
- 高手请进,idirc在activeform,onmessage事件等都收不到了.?
- 大家进来帮帮忙类!
- 感谢 12rain 提醒了我!各位停止跟贴灌水吧,学习才是重要的
- 请教高手 关于 字符串处理(string,pchar) 怪问题
- 想做个简单的类似QQ的视频会议系统,希望了解这块的兄弟进来聊一下
- 菜鸟问题:delphi怎样使用Word的模板功能(新建模板/打开模板)?
- INDY10的IDHTTP如何发送带COOKIE的包?
- 如果得到一个目录下的所有exe文件,并把文件名放到listbox里?
- 小弟刚毕业,请各位哥哥姐姐给点建议。
wparam,lparam),w是主程序的句柄,dll通过内存映射文件获取.
主程序通过Function WndProc(Window : hWnd; Msg,WParam,LParam : Integer): Integer; StdCall;接到wm_hook消息后用WParam的值来工作.
现在的问题是:我用api函数创建的主程序能接到wm_hook 用WParam的值来工作,
而我用delphi自动生成的窗口却接不到wm_hook 因而无法用WParam的值来工作,
它们都是用上面的消息处理函数,都是在创建的时候将句柄写到内存映射文件中
为什么结果却不一样?
难道用delphi自动生成的还要修改工程文件?
WindowProc := WndProc;
关联你的消息处理函数,你利用sendmessage才起作用。
(其实最好办法就是利用回调函数)