开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3447|回复: 8
收起左侧

【检查消息队列】使用快捷键ctrl+f键 最小化应用窗口

[复制链接]
结帖率:100% (2/2)
发表于 2018-3-15 01:55:59 | 显示全部楼层 |阅读模式   山东省济南市
需要用到dll命令了就
  
DLL命令名返回值类型公开备 注
注册热键_整数型 
DLL库文件名:
user32.dll
在DLL库中对应命令名:
RegisterHotKey
参数名类 型传址数组备 注
窗口句柄整数型hWnd
热键id整数型id
功能键整数型fsModifiers
主热键整数型vk
DLL命令名返回值类型公开备 注
取消热键注册_整数型 
DLL库文件名:
user32.dll
在DLL库中对应命令名:
UnregisterHotKey
参数名类 型传址数组备 注
窗口句柄整数型
热键id整数型
DLL命令名返回值类型公开备 注
检查消息队列_整数型 
DLL库文件名:
user32.dll
在DLL库中对应命令名:
PeekMessageA
参数名类 型传址数组备 注
消息格式消息_lpMsg
窗口句柄整数型hWnd
消息最小过滤值整数型wMsgFilterMin
消息最大过滤值整数型wMsgFilterMax
删除消息整数型wRemoveMsg,是否取得消息后,从消息队列中删除该消息
DLL命令名返回值类型公开备 注
等待消息_整数型 
DLL库文件名:
user32.dll
在DLL库中对应命令名:
WaitMessage
参数名类 型传址数组备 注


源码
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
程序集_标志位逻辑型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
' GetMessage与PeekMessage
' GetMessage是Windows中最重要的函数之一,Windows的窗口程序的结构就是先通过调用GetMessage从消息队列中获取消息,然后再处理相应消息。而与GetMessage相似的还有一个函数——PeekMessage。下边就说说两者区别。
' GetMessage与PeekMessage都是从消息队列中取得消息。首先,PeekMessage比GetMessage多了个wRemoveMsg参数,用来指定是否取得消息后,从消息队列中删除该消息,而GetMessage在取得消息后必定从消息队列中删除该消息。其次GetMessage被调用后,如果消息队列中没有消息,它会一直等待消息队列,直到消息队列中有新的消息出现,GetMessage获取该消息后才返回。也就是说GetMessage执行后一定要获取一个消息,如果没有就一直等着。而PeekMessage则执行后,立即返回,不管有没有获取消息。第三,由于GetMessage总是会获取消息,因此它是根据消息决定返回值的,当获取的是WM_QUIT消息时,返回值为非0,当获取的不是WM_QUIT消息时,返回值为0,当执行失败时,返回值为-1。而对于PeekMessage来说,它不管有没有消息,都是立即返回,因此它就根据有没有获取消息来决定返回值,当获取消息时,返回值为非0,当没有获取消息时,返回值为0。
' 在多数场合,我们都用GetMessage来获取消息。但在一些特殊场合,会用到PeekMessage。例如有时候我们程序中要判断用户在一段时间内是否按过某个健(注意,是"是否"按过某个键,而不是"如果"按过某个键),对于这种应用,由于并不需要处理按键,因此用PeekMessage更好。
' 因此,GetMessage一般用于获取消息,PeekMessage一般用于检测消息。
子程序名返回值类型公开备 注
_按钮_检查消息队列_被单击  
程序集_标志位 = 假
注册热键_ (取窗口句柄 (), 0, #MOD_CONTROL, #F键 )
标签_提示.标题 = “按下CTRL+F键最小化窗口”
子程序_等待消息 ()
子程序名返回值类型公开备 注
子程序_等待消息  
变量名类 型静态数组备 注
局部_消息结构消息_ 
判断循环首 (取反 (程序集_标志位))
等待消息_ ()
如果真 (检查消息队列_ (局部_消息结构, 取窗口句柄 (), #WM_HOTKEY, #WM_HOTKEY, #PM_REMOVE ) ≠ 0)
判断 (_启动窗口.位置 = 0)
_启动窗口.位置 = 2
_启动窗口.位置 = 0

处理事件 ()
判断循环尾 ()
子程序名返回值类型公开备 注
__启动窗口_可否被关闭逻辑型 
程序集_标志位 = 真
取消热键注册_ (取窗口句柄 (), 0)

自定义消息类型
.版本 2

.数据类型 消息_, , Msg
    .成员 窗口句柄, 整数型, , , hWnd
    .成员 消息号, 整数型, , , Message
    .成员 附加参数1, 整数型, , , wParam
    .成员 附加参数2, 整数型, , , lParam
    .成员 发送时间, 整数型, , , time
    .成员 光标横坐标, 整数型, , , x
    .成员 光标纵坐标, 整数型, , , y

常量表
.版本 2

.常量 MOD_ALT, "1"
.常量 MOD_CONTROL, "2"
.常量 MOD_SHIFT, "4"
.常量 PM_REMOVE, "1"
.常量 WM_HOTKEY, "786"







头像被屏蔽
结帖率:100% (1/1)
发表于 2018-4-9 12:30:18 | 显示全部楼层   浙江省嘉兴市
这个点个赞,支持下,也希望精易论坛越办越好!
回复 支持 反对

使用道具 举报

头像被屏蔽
结帖率:100% (1/1)
发表于 2018-4-9 12:30:03 | 显示全部楼层   浙江省嘉兴市
这个点个赞,支持下,也希望精易论坛越办越好!
回复 支持 反对

使用道具 举报

结帖率:88% (44/50)

签到天数: 22 天

发表于 2018-4-5 14:28:14 | 显示全部楼层   广东省惠州市
牛比牛比!
回复 支持 反对

使用道具 举报

发表于 2018-4-3 21:19:41 | 显示全部楼层   福建省泉州市
好东西必须要支持,好
回复 支持 反对

使用道具 举报

发表于 2018-3-21 15:16:24 | 显示全部楼层   江西省鹰潭市
这个点个赞,支持下,也希望精易论坛越办越好!
回复 支持 反对

使用道具 举报

结帖率:93% (13/14)

签到天数: 19 天

发表于 2018-3-18 10:53:34 | 显示全部楼层   陕西省商洛市
学些了,多谢分享!!!!
回复 支持 反对

使用道具 举报

结帖率:86% (12/14)
发表于 2018-3-17 14:48:38 | 显示全部楼层   四川省成都市
感谢楼主的分享,支持
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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