Cop*_*pas 11
快速轻松地执行此操作的一种好方法是使用专注于宏编程的脚本语言.我最喜欢的是AutoIt,因为它在AutoIt帮助文件的剪辑中说...
AutoIt最初是为PC"推出"情况而设计的,可以可靠地自动化和配置数千台PC.随着时间的推移,它已成为一种强大的语言,支持复杂的表达式,用户函数,循环以及资深脚本编写者期望的所有其他内容.
在AutoIt中编写热键应用程序非常简单.例如,让我们说出于某些原因(模糊地提到),你希望Alt+ Q在特定情况下作为数字键盘7作出反应,这样你就不必跨越键盘了.这里有一些代码可以做到......
Func _num7()
Send("{numpad7}")
EndFunc
HotKeySet("!{q}","_num7")
While 1
sleep(10)
WEnd
Run Code Online (Sandbox Code Playgroud)
如果这不够直接,AutoIt帮助文件和论坛非常有帮助.更不用说(非常)很少的AutoIt开发人员可以在SO上使用,如果您最终遇到任何AutoIt特定问题.
在上面的示例中,假设您只希望在使用特定应用程序时激活热键,以免干扰其他热键.这段代码就可以实现.
; The comment character in AutoIt is ;
Local $inTargetProg = False
Func _num7()
Send("{numpad7}")
EndFunc
While 1
If WinActive("Target Application Window Title") and Not $inTargetProg Then
HotKeySet("!{q}","_num7") ; binds Alt+Q to the _num7() function
$inWC3 = True
EndIf
If Not WinActive("Target Application Window Title") and $inTargetProg Then
HotKeySet("!{q}") ; UnBind the hotkey when not in use
$inWC3 = False
EndIf
sleep(5)
WEnd
Run Code Online (Sandbox Code Playgroud)
像Ctrl+ 这样的每进程键盘快捷键V通常在资源(.rc)文件中定义,并通过Win32 API LoadAccelerators加载.
使用Win32 API RegisterHotKey注册 Windows范围的键盘快捷键(热键).
小智 5
我一直在使用AutoHotkey工作一年中最好的部分.
我只是将以下文件保存在Windows Startup文件夹中.
keyboard_shortcuts.ahk
#SingleInstance force
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
Menu, Tray, Icon, Shell32.dll, 44
; Starting Directory for cmd.exe
EnvGet, HOMEDRIVE, HOMEDRIVE
EnvGet, HOMEPATH, HOMEPATH
#i:: Run, notepad
#f:: Run, firefox
#c:: Run, cmd /k, %HOMEDRIVE%%HOMEPATH%
#m:: Run, mailto:
#b:: Run, mailto:boss@mycompany.com
Run Code Online (Sandbox Code Playgroud)
"#b"表示Winkey+B
"Run,mailto:boss@mycompany.com"向我的老板发了一封黑色电子邮件.
#b:: Run, mailto:boss@mycompany.com
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25106 次 |
| 最近记录: |