WaitKey 等待按任意键

WaitKey 等待按任意键

WaitKey 等待按任意键

🎯功能​

等待键盘按键后获取该按键码

📜语法​

结果 = WaitKey()

📥参数​

📤返回​

整数型, 返回用户按下的按键码

💡示例​

Key = WaitKey() //脚本运行到这一行会暂停,当用户按下键盘后继续执行,并且把用户的按键码保存在变量Key里If Key = 13 Then MessageBox "你按下了回车键"Else MessageBox "你按下的按键码是" & KeyEnd If

//高级例子//介绍: 判断是否按下了组合键, 这是阻塞子程序//组合键: 组合键的键码, 以+号隔开, 仅支持键码, 不支持键名, 如果要键名请自行修改代码//超时时间: 0表示无限等待直到按下指定组合键, 其他数值表示限时内按下组合键//返回值: 数值型, 返回0表示超时, 返回1表示按下了组合键//Declare是声明api的语句, 放在脚本开头即可Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As IntegerFunction zmWaitGroup(组合键, 超时时间) Dim keys, i, counts, t1 zmWaitGroup = 0 keys = Split(组合键, "+") t1 = Plugin.Sys.GetTime() Do counts = 0 For i = 0 To UBound(keys) - 1 If GetAsyncKeyState(CInt(keys(i))) <> 0 Then counts = counts + 1 End If Next If GetLastKey() = CInt(keys(i)) Then counts = counts + 1 End If If counts = UBound(keys) + 1 Then zmWaitGroup = 1 Exit Do End If Delay 10 Loop While 超时时间 = 0 or 超时时间 > (Plugin.Sys.GetTime() - t1)End Function//示例: 等待3秒内按下组合键Ctrl+ADim 结果结果 = zmWaitGroup("17+65", 3000)If 结果 = 1 Then TracePrint "你在3秒内按下了ctrl+a"Else TracePrint "你已超时"End If

📘备注​

请务必注意, 本代码属于阻塞命令, 在用户按下键盘上任意按键之前, 会一直停留在本命令, 不会往下执行其他代码.

如果你不想阻塞脚本, 需要直接获取最近一次的按键码, 可以使用 getlastkey

相关推荐

阴阳师小鹿男值不值得换 换小鹿男划不划算
beat365正版唯一官网

阴阳师小鹿男值不值得换 换小鹿男划不划算

📅 11-28 👁️ 5713
建立分区
beat365正版唯一官网

建立分区

📅 10-14 👁️ 2433
秋的英文是什么,秋用英语怎么说,秋的英文怎么写
外勤365app下载安装

秋的英文是什么,秋用英语怎么说,秋的英文怎么写

📅 09-21 👁️ 7737