理想*人生的梦学习*信息*阅读人际关系*家庭*朋友健康*饮食*锻炼日期:天气:什么日子:生日:工作理财*金钱快乐*惊喜*其他未来日记*近日摘要......
2022-04-28 59 OneNote教程 OneNote九宫格日记模板
介绍了AHK的入门操作。实际应用时,通常会在同一个脚本中,对不同软件建立不同的快捷键体系,本文将介绍一个非常实用的函数来实现上述功能。
让热键仅在指定软件中有效
之前的示例脚本中,将F1定义为了onenote一级标题样式快捷键,但F1键如此方便好用,我也想在Excel中用它进行重映射,怎么办呢?
虽然你可以选择为每个软件单独写一个脚本,但这样做,管理和运行起来均不方便。实际应用中,一个.ahk脚本可能包含了成百上千行代码,这些代码集成了你打开电脑会经常使用的几乎所有热键功能。例如onenote、Excel等软件中的常用热键,通常是写在一个脚本中,如何让各软件中的快捷键彼此互不影响,并且只在各自的软件窗口才生效呢?
必须先推荐一下这个函数:#IfWinActive,定义在该函数内的热键,会根据软件窗口是否为当前活动窗口,而执行不同的动作。
例如,将之前的那段代码用#IfWinActive包起来,那么此处的F1键对应的动作,只有在当前窗口为onenote时才有效,在其他软件中不会生效。
#IfWinActive,ahk_classFramework::CFrame;Framework::CFrame即onenote的类名
F1::
Send,^!1
return
#IfWinActive
同样地,你可以在同一脚本中,用F1来定义Excel中的显示/隐藏当前单元格的批注。两个F1互不影响,只在各自的软件窗口中有效。
#IfWinActive,ahk_classXLMAIN;XLMAIN即Excel的类名
F1::;显示/隐藏当前单元格的批注
Send,!rh
return
#IfWinActive
所以,通过#IfWinActive,你可以将多个软件的热键定义在一个脚本中,彼此互不影响。
如何查看软件的类名
分析一下上面的代码,#IfWinActive是成对出现的,类似于VBA等很多编程语言中的if...endif,可以明确划分出作用域。
第一个#IfWinActive后面跟着参数,代表开始;第一个#IfWinActive后面不带参数,代表结束。就这样成对使用即可。
观察上面的onenote和Excel中的例子,第一个#IfWinActive后面跟着参数Framework::CFrame、XLMAIN分别代表onenote类名、Excel类名,通过这个类名才得以找到指定软件窗口。那么,这个类名从哪儿查看呢?
其实,安装AHK后,程序已经提供了一个非常方便的参考工具“WindowSpy”。运行脚本后,可以从托盘AHK图标处右键打开“WindowSpy”窗口。
打开窗口后,鼠标点击对应的软件窗口,就会获得该窗口的各种属性信息,例如onenote,第一个窗格内显示的就是onenote的类名、程序名等信息。当鼠标在onenote上移动时,鼠标坐标也会实时变化。
通过“WindowSpy”窗口,就可以轻松得到各软件的相关属性信息了,从而可以有针对性的对不同软件设置不同动作。
了解以上知识点后,基本可以参考帮助文档自行编写一些实用脚本了。
相关文章
理想*人生的梦学习*信息*阅读人际关系*家庭*朋友健康*饮食*锻炼日期:天气:什么日子:生日:工作理财*金钱快乐*惊喜*其他未来日记*近日摘要......
2022-04-28 59 OneNote教程 OneNote九宫格日记模板
部门:年度:工作计划:计划重点:输入计划目标:输入目标:具体步骤:输入详细工作安排和步骤:输入内容输入内容输入内容输入内容可能会遇到的问题:输入内容输入内容输......
2022-04-28 86 OneNote教程 OneNote工作计划模板
重要且紧急优先解决立即做重要不紧急制定计划去做事项1事项2事项3事项1事项2事项3紧急不重要有空再说不重要不紧急交给别人去做事项1事项2事项3事项1事项2事项3......
2022-04-28 291 OneNote教程 OneNote四象限法则模板
分析表格:结论:论点1论点2论点3Strengths/优势:Weaknesses/缺陷:条目1条目2条目3条目4条目1条目2条目3条目4Opportunities/机会:Threats/挑战:条目1条目2条目3条目4条目1条目......
2022-04-28 165 OneNote教程 OneNoteSWOT分析模板
问题:Office365里的OneNote,插入选项卡里的联机图片、在线视频功能是灰色的。无法点击使用。是什么原因?解答:这是因为禁用了,不让Office下载在线内容导致的。解决办法:在OneNote201......
2022-04-28 155 OneNote教程 OneNote联机图片功能 OneNote在线视频功能