• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[技术交流] 【院刊】-【201502期】如何按一个键达到按多个键的效果? [复制链接]

1#

如何按一个键达到按多个键的效果?

本文按键学院提供技术支持


按键学院交流群(1群已满):376122403

零基础学按键精灵群(2群):372671254




最近发现许多小伙伴,提出类似这样的问题:“我手动按下v键,希望达到的效果是同时按下了Ctrl和V键”那么,要如何实现呢?我们今天就来分享下,几种实现方法。





方法1-键盘命令
步骤:
1、检测键盘按键,如果按下v则进行下一步
2、按住ctrl键不放
3、按下v键
4、弹起ctrl键

代码:
  1. Do
  2. Key = WaitKey
  3. If key = 86 Then 'v的按键码为 86
  4. KeyDown 17, 1 'ctrl 的按键码为 17
  5. KeyPress 86, 1
  6. KeyUp 17,1
  7. End If
  8. Loop
复制代码


以上是按下某一个键,达到的效果是按下组合键的方法
如果希望按下某一个键,
达到的效果是按下另外两个非组合键,例如按下V,实现的是按下W和C
代码如下:

  1. Do
  2. Key = WaitKey
  3. If key = 86 Then 'v的按键码为 86
  4. KeyPress 87, 1'W的按键码为 87
  5. KeyPress 67, 1'C的按键码为 67
  6. End If
  7. Loop
复制代码





方法2-命令库命令
步骤:
1、检测键盘按键,如果按下v则进行下一步
2、调用 我的命令库 ——>键盘——>键盘组合键 命令



命令名称:键盘组合键
命令功能:键盘组合键
命令参数:参数1 字符串型,键盘码参数2 整数型,模拟方式
返回值:



此命令的第一个参数,键盘码要怎么写呢?
例如,我们要按下 Ctrl+V 键,那么参数1的值就为"Ctrl+
V"
如果,我们要按下 Ctrl+Alt+
V 键,那么参数1的值就为"Ctrl+Alt+V"


代码:
  1. Do
  2. Key = WaitKey
  3. If key = 86 Then 'v的按键码为 86
  4. Call lib.键盘.键盘组合键("Ctrl + V",0)
  5. End If
  6. Loop
复制代码

如果希望按下某一个键,达到的效果是按下另外两个非组合键,例如按下V,实现的是按下W和C
我们需要用到我的命令库 ——>键盘——>键盘按键组 命令

命令名称:键盘按键组
命令功能:键盘按键组
命令参数:参数1 字符串型,键码组参数2 整数型,模拟方式参数3 整数型,毫秒延时
返回值:




此命令的第一个参数,和 键盘组合键 命令的参数写法不一样
例如,我们要按下W和C键
那么,参数1的值就为:"W,C"
键与键之间用逗号隔开


代码:
  1. Do
  2. Key = WaitKey
  3. If key = 86 Then 'v的按键码为 86
  4. Call lib.键盘.键盘按键组("W,C",0,0)
  5. End If
  6. Loop
复制代码
方法3-热键控件
步骤:

1、在界面里画一个热键控件
2、在窗口加载事件中设置热键V
3、在热键Hotkey事件中,输入按下Ctrl+v的组合键

您所在的用户组无法下载或查看附件




接下来,有两个方案

1、在窗口加载事件中就给热键控件设置热键

这里要设置热键控件的三个方法的值:ModifiersVirtualkey
Register
Modifiers值:1为Shift键,2为Ctrl键,4为Alt键;6为Alt+Ctrl键……其他组合类同。
Virtualkey值:按键码和鼠标码;按键码为:65为A键;鼠标码为:32769左键按下……其他请到键盘/鼠标命令分类下查询。
Register值:True为注册,False为销毁。
三个方法的值设置完之后,在热键控件的[backcolor=rgb(249, 249, 249)]Hotkey事件中,输入按下组合键Ctrl+V的代码


代码:
  1. Event Form1.Hotkey1.Hotkey
  2. Call lib.键盘.键盘组合键("Ctrl + V",0)
  3. End Event
  4. Event Form1.Load
  5. //设置热键为:V
  6. Form1.Hotkey1.Virtualkey = 86
  7. //注册热键;True为注册,False为销毁。
  8. Form1.Hotkey1.Register True
  9. End Event
复制代码
注意:设置热键之后,不要忘记用Register方法注册下热键,否则热键不生效。



2、运行窗口之后,在界面中设置热键控件
在热键控件的Change事件中,输入注册热键代码(当改了界面中热键控件的热键时,Change事件生效。)
接着和方案1一样,在热键控件的[backcolor=rgb(249, 249, 249)]Hotkey事件中,输入按下组合键Ctrl+V的代码

代码:
  1. Event Form1.Hotkey1.Hotkey
  2. Call lib.键盘.键盘组合键("Ctrl + V",0)
  3. End Event
  4. //当热键控件中的文本内容被改变后,触发Change事件
  5. Event Form1.Hotkey1.Change
  6. Form1.Hotkey1.Register True
  7. End Event
复制代码
拓展

有小伙伴问小编,有没有办法,我按下v键,输入ctrl+s,但是v键不响应。
这只能通过去拦截键盘消息,用按键实现起来则有困难。
那怎么办呢?


例如:
当我们操作记事本时,希望按下V键则实现按下Ctrl+V键
于是,我们用上面的方法来实现
运行脚本之后,会发现
按下V之后,确实操作了Ctrl+V键,把剪贴板内容粘上去了
但是,前面的那个V怎么回事??

您所在的用户组无法下载或查看附件




不希望V响应,我们可以换一个角度来想。
我们设置热键不一定要是v对不对,我们设置一个记事本无法响应的键不就可以解决问题了吗?
小编随便找个键测试了下,发现按下F7,记事本是没有响应的。
那我们就把热键设置为F7
效果


您所在的用户组无法下载或查看附件







本文按键学院提供技术支持

【招生】主流回合制常见功能网络辅助教学——你懂得!



    已有2评分我要评分查看所有评分

    本主题由 超级版主 n15976906190 于 2017/9/2 8:41:24 执行 审核主题 操作
    按键学院免费交流群:376122403

    按键学院招生计划
    按键学院系统教程
    2#

    111111111111111111111111111111111111111111

    3#

    地方大幅度的地方

    4#

    浏览

    5#

    牛皮牛皮

    6#

    厉害了 好好学

    努力很久 还是一个屁
    7#

    如何按一个键达到按多个键的效果?

    8#

    学一下看看隐藏的什么

    9#

    这个有点作用

    10#

    学习

    11#

    asfas

    发新话题 回复该主题