找回密码
 加入
搜索
楼主: smooth

[AU3基础] 请教关于GUIRegisterMsg注册消息ID的用法

  [复制链接]
发表于 2019-11-22 23:37:28 | 显示全部楼层
https://blog.csdn.net/HiRuyue/article/details/9632507   里面提到:
在WM_COMMAND中,lParam用来区分是命令消息还是控件通知消息:如果lParam为NULL,则这是个命令消息,否则lParam里面放的必然就是控件的句柄,是一个控件通知消息。对于wParam则是低位放的是控件ID,高位放的是相应的消息事件。

解释也是:
lParam=NULL or 控件的句柄
wParam则是低位放的是控件ID,高位放的是相应的消息事件
发表于 2019-11-22 23:54:04 | 显示全部楼层
教训:
靠猜靠蒙是靠不住的,调试才是王道!!!调调更健康!!!
 楼主| 发表于 2019-11-28 08:03:10 | 显示全部楼层
floor6ggg 发表于 2019-11-22 23:33
将第五到第七行,更改为:

我本来有点理解,你这么说我更糊涂了。我的理解是:高位字符,等于GUI事件触发,低位字符,等于控件ID。
 楼主| 发表于 2019-11-28 08:11:01 | 显示全部楼层
floor6ggg 发表于 2019-11-22 23:37
https://blog.csdn.net/HiRuyue/article/details/9632507   里面提到:
在WM_COMMAND中,lParam用来区分是 ...

刚才没看到你这楼的回复,我的理解也是这样,虽然感觉硬生生的,但是也没有别的更好的解释。另外,我只要在GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")中,加入_ArrayDisplay()来显示数组,就会卡死,我加入了足够大的Sleep,也无济于事。
发表于 2019-11-28 11:52:59 | 显示全部楼层
_arraydisplay你直接查看函数构造就知道为什么了,完全就是一个完整的GUI脚本
发表于 2019-11-28 16:58:26 | 显示全部楼层
查windows资料去微软自家查:https://docs.microsoft.com/zh-cn/windows/win32/menurc/wm-command
注意看备注:

Remarks
Use of the wParam and lParam parameters are summarized here.
Message Source
wParam (high word)
wParam (low word)
lParam
Menu
0
Menu identifier (IDM_*)
0
Accelerator
1
Accelerator identifier (IDM_*)
0
Control
Control-defined notification code
Control identifier
Handle to the control window

当消息是来自 菜单     时,  lParam是0。wParam的高位是0,低位是 菜单ID。
当消息是来自 加速键 时 ,  lParam是0。wParam的高位是1,低位是 加速键ID。
当消息是来自 控件     时 ,  lParam是 控件句柄。wParam的高位是 控件的通知代码,低位是 控件ID。


 楼主| 发表于 2019-12-2 12:18:13 | 显示全部楼层
haijie1223 发表于 2019-11-28 16:58
查windows资料去微软自家查:https://docs.microsoft.com/zh-cn/windows/win32/menurc/wm-command
注意看 ...

看了你发的资料,对这个函数有了进一步的了解,谢谢!但是有的还是不懂,比如,$hWnd, $iMsg, $wParam, $lParam这几个参数,为啥不用先定义就能使用?
发表于 2019-12-2 17:15:10 | 显示全部楼层
smooth 发表于 2019-12-2 12:18
看了你发的资料,对这个函数有了进一步的了解,谢谢!但是有的还是不懂,比如,$hWnd, $iMsg, $wParam, $ ...

编程的基础,形参本身就是一种定义。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-3-29 21:50 , Processed in 0.069302 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表