精易论坛

标题: 键盘_组合按键 逻辑问题 [打印本页]

作者: 帅气与大侠    时间: 2023-4-9 20:36
标题: 键盘_组合按键 逻辑问题
问题:
使用场景:通过动态变量来组合按键时,如果功能键顺序..一时不知道咋描述
正常用法:这样没问题
键盘_组合按键(#键1,#alt)

动态变量组合用法:出问题
键盘_组合按键(m_key[1],m_key[2],m_key[3],m_key[4])  => 键盘_组合按键(#键1,0,0,#alt)
通过这种方式书写会造成组合键无效问题,其中key数组,2和3成员值都是0
也就是组合键参数不按顺序填写,那么这个组合键就无效

  
子程序名返回值类型公开备 注
键盘_组合按键 模拟一个组合按键;如:Ctrl+A(精易模块11.0.5)
参数名类 型参考可空数组备 注
键代码整数型键代码;如:A(65)
功能键码1整数型功能键代码;如:ctrl(1) 或 #ctrl
功能键码2整数型功能键代码(可以留空)
功能键码3整数型功能键代码(可以留空)
如果真 (功能键码3 ≠ 0)
keybd_event (功能键码3, 0, 0, 0)
如果真 (功能键码2 ≠ 0)
keybd_event (功能键码2, 0, 0, 0)
keybd_event (功能键码1, 0, 0, 0)
keybd_event (键代码, 0, 0, 0)
如果真 (功能键码3 ≠ 0)
keybd_event (功能键码3, 0, 2, 0)
如果真 (功能键码2 ≠ 0)
keybd_event (功能键码2, 0, 2, 0)
keybd_event (功能键码1, 0, 2, 0)
keybd_event (键代码, 0, 2, 0)




这是修改后代码,简单修改了下判断条件,目前测试功能好像没问题了,如果逻辑上还有问题的,官方可以完善下
  
子程序名返回值类型公开备 注
键盘_组合按键ex 模拟一个组合按键;如:Ctrl+A
参数名类 型参考可空数组备 注
键代码整数型键代码;如:A(65)
功能键码1整数型功能键代码;如:ctrl(1) 或 #ctrl
功能键码2整数型功能键代码(可以留空)
功能键码3整数型功能键代码(可以留空)
如果真 (功能键码3 ≠ 0)
keybd_event (功能键码3, 0, 0, 0)

如果真 (功能键码2 ≠ 0)
keybd_event (功能键码2, 0, 0, 0)

如果真 (功能键码1 ≠ 0)
keybd_event (功能键码1, 0, 0, 0)

keybd_event (键代码, 0, 0, 0)
如果真 (功能键码3 ≠ 0)
keybd_event (功能键码3, 0, 2, 0)

如果真 (功能键码2 ≠ 0)
keybd_event (功能键码2, 0, 2, 0)

如果真 (功能键码1 ≠ 0)
keybd_event (功能键码1, 0, 2, 0)

keybd_event (键代码, 0, 2, 0)



作者: zzai521    时间: 2023-4-9 20:51
学习了··········
作者: 凌哥    时间: 2023-4-10 09:19
传递数组不好吗,多少个按键都可以


作者: shituo    时间: 2023-4-14 00:40
怎么没有组合键消息????




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4