您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页按键精灵脚本制作教程:如何实现同时按多个键

按键精灵脚本制作教程:如何实现同时按多个键

来源:华佗小知识


按键精灵脚本制作教程:如何实现同时按多个键

来源:按键学院 【按键精灵】

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

方法1-键盘命令

步骤:

1、检测键盘按键,如果按下v则进行下一步 2、按住ctrl键不放 3、按下v键 4、弹起ctrl键 代码:

Do

Key = WaitKey

If key = 86 Then 'v的按键码为 86 KeyDown 17, 1 'ctrl 的按键码为 17 KeyPress 86, 1 KeyUp 17,1 End If Loop

以上是按下某一个键,达到的效果是按下组合键的方法

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

Do

Key = WaitKey

If key = 86 Then 'v的按键码为 86 KeyPress 87, 1'W的按键码为 87 KeyPress 67, 1'C的按键码为 67 End If Loop

方法2-命令库命令

步骤:

1、检测键盘按键,如果按下v则进行下一步

2、调用 我的命令库 ——>键盘——>键盘组合键 命令

此命令的第一个参数,键盘码要怎么写呢?

例如,我们要按下 Ctrl+V 键,那么参数1的值就为\"Ctrl+V\" 如果,我们要按下 Ctrl+Alt+V 键,那么参数1的值就为\"Ctrl+Alt+V\"

代码:

Do

Key = WaitKey

If key = 86 Then 'v的按键码为 86 Call lib.键盘.键盘组合键(\"Ctrl + V\ End If Loop

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

我们需要用到我的命令库 ——>键盘——>键盘按键组 命令

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

Do

Key = WaitKey

If key = 86 Then 'v的按键码为 86 Call lib.键盘.键盘按键组(\"W,C\ End If Loop

方法3-热键控件

步骤:

1、在界面里画一个热键控件 2、在窗口加载事件中设置热键V

3、在热键Hotkey事件中,输入按下Ctrl+v的组合键

接下来,有两个方案

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

这里要设置热键控件的三个方法的值:Modifiers、Virtualkey、Register

Modifiers值:1为Shift键,2为Ctrl键,4为Alt键;6为Alt+Ctrl键……其他组合类同。

Virtualkey值:按键码和鼠标码;按键码为:65为A键;鼠标码为:32769左键按下……其他请到键盘/鼠标命令分类下查询。 Register值:True为注册,False为销毁。 三个方法的值设置完之后,在热键控件的Hotkey事件中,输入按下组合键Ctrl+V的代码 代码:

Event Form1.Hotkey1.Hotkey Call lib.键盘.键盘组合键(\"Ctrl + V\End Event Event Form1.Load //设置热键为:V

Form1.Hotkey1.Virtualkey = 86 //注册热键;True为注册,False为销毁。 Form1.Hotkey1.Register True End Event

注意:设置热键之后,不要忘记用Register方法注册下热键,否则热键不生效。

2、运行窗口之后,在界面中设置热键控件

在热键控件的Change事件中,输入注册热键代码(当改了界面中热键控件的热键时,Change事件生效。)

接着和方案1一样,在热键控件的Hotkey事件中,输入按下组合键Ctrl+V的代码 代码:

Event Form1.Hotkey1.Hotkey Call lib.键盘.键盘组合键(\"Ctrl + V\End Event

//当热键控件中的文本内容被改变后,触发Change事件 Event Form1.Hotkey1.Change Form1.Hotkey1.Register True End Event

拓展

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

当我们操作记事本时,希望按下V键则实现按下Ctrl+V键 于是,我们用上面的方法来实现 运行脚本之后,会发现

按下V之后,确实操作了Ctrl+V键,把剪贴板内容粘上去了 但是,前面的那个V怎么回事??

不希望V响应,我们可以换一个角度来想。

我们设置热键不一定要是v对不对,我们设置一个记事本无法响应的键不就可以解决问题了吗?

小编随便找个键测试了下,发现按下F7,记事本是没有响应的。

那我们就把热键设置为F7 效果:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务