跳到主要内容

GetKeyWindow 获得按键和相关窗口

🎯功能

CreateKeyWindowTrack 创建的对按键的监测中获得按键动作和相关窗口。

📜语法

按键状态 = Plugin.WndEx7_71.GetKeyWindow(数据句柄, 变量按键)

📥参数

参数数据类型解释
数据句柄长整型数该值由 CreateKeyWindowTrack 创建。
变量按键长整型数变量变量。用于接收按键码或者按键序号(长整型数)。 CreateKeyWindowTrack 的参数2(按键)为0时,输出按键码;CreateKeyWindowTrack的参数2(按键)为非0时,返回第几个按键的顺序号(从0开始)。
变量窗口句柄长整型数变量变量。用于接收按键的相关窗口的窗口句柄(长整型数)。如果参数2(变量按键)没取256获得的值是接受按键的顶层窗口的窗口句柄,如果参数2(变量按键)取256获得的值是接受按键的焦点窗口的窗口句柄。
信息

关于输出按键码,若参数 CreateKeyWindowTrack 的参数3(模式)没取8或者不是组合键,输出值和常规按键码没有区别;若CreateKeyWindowTrack的参数3(模式)取了8,输出值在组合键时,返回值是下表中的一个或多个值和常规按键码做或运算或者加法运算。

说明
256(&H100)shift键按下状态,参数3(模式)的值不取4时使用此值
512(&H200)ctrl键按下状态,参数3(模式)的值不取4时使用此值
1024(&H400)alt键按下状态,参数3(模式)的值不取4时使用此值
65536(&H10000)左shift键按下状态,参数3(模式)的值取4时使用此值
131072(&H20000)右shift键按下状态,参数3(模式)的值不取4时使用此值
262144(&H40000)左ctrl键按下状态,参数3(模式)的值取4时使用此值
524288(&H80000)右ctrl键按下状态,参数3(模式)的值取4时使用此值
1048576(&H100000)左alt键按下状态,参数3(模式)的值取4时使用此值
2097152(&H200000)右alt键按下状态,参数3(模式)的值取4时使用此值

若CreateKeyWindowTrack的参数3取了64,输出的按键码中增加了按下动作值268435456(&H10000000)。

📤返回

长整型数,按键状态。返回0表示无按键动作,返回1表示按下,返回2表示弹起,返回-1表示错误。

💡示例

//创建对任意键盘按键动作的监测,监测组合键
KeyWndData = Plugin.WndEx7_71.CreateKeyWindowTrack(0,1 Or 8)
Do While True
//获得捕获的按键动作
KeyState=Plugin.WndEx7_71.GetKeyWindow(KeyWndData,KeyValue,WndValue)
Select Case KeyState
Case 0
Delay 50
Case 1
MsgBox "键按下,按键码:" & CStr(KeyValue) & ",窗口句柄:" & CStr(WndValue)
Case 2
MsgBox "键弹起,按键码:" & CStr(KeyValue) & ",窗口句柄:" & CStr(WndValue)
Case -1
MsgBox "错误!!!"
Exit Do
End Select
Loop
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
//删除对按键的监测
Call Plugin.WndEx7_71.DeleteKeyWindowTrack(KeyWndData)
End Sub

📘备注