概述
在操作某些软件的时候,如Markdown神器Typora,在实际编写时,通过快捷键可以快速实现自己想要的效果,但有时候快捷键太多,也不是很方便,有个工具栏辅助快捷键会好很多。
重点
重点是要画出界面,然后界面上有按钮可以点击,最主要的是自定义工具栏不能把焦点从软件身上拿走,不然无法定位到需要的位置上
解决方案
Gui, +AlwaysOnTop +ToolWindow +E0x08000000
前面就是实现工具栏置顶和不显示在任务栏的效果,最主要的是后面那个参数,即窗口效果为不获取焦点
再配合 NoActivate 即可
Gui, Show, NoActivate AutoSize, TyporaTools ; NoActivate 让当前活动窗口继续保持活动状态.
另外
因为是辅助工具栏,没必须始终显示,需要的时候调出来,关闭的时候结束整个脚本即可
借助两句话
Gui, Destroy ;开始的时候销毁默认线程上的Gui然后重新绘制
GuiClose: ;一定记得加上这个标识,不然关闭按钮只是执行了窗体隐藏而非关闭
ExitApp
return
其他
然后就是给画面添加按钮,然后设置按钮事件如执行快捷键等
完整代码
;自定义窗口
Gui, Destroy
Gui, +AlwaysOnTop +ToolWindow +E0x08000000
Gui, Add, Button, gPaste w60, Paset ;粘贴
Gui, Add, Button, gPaste_R w60, Plant ;粘贴纯文本
Gui, Add, Button, gCode w60, Code ;插入代码
Gui, Show, NoActivate AutoSize, TyporaTools ; NoActivate 让当前活动窗口继续保持活动状态.
return ; 自动运行段结束. 在用户进行操作前脚本会一直保持空闲状态.
Paste:
Send, ^{v}
return
Paste_R:
Send, ^+{v}
return
Code:
Send, !{1}
Sleep 100
Send, {Down}
Sleep 100
Send, xml-dtd
Sleep 100
Send, {Shift}
Sleep 200
Send, ^{a}
return
GuiClose:
ExitApp
return
PS
如果不喜欢按钮样式的工具栏,还可以将按钮换成图标,然后给图片绑定 g-标签事件即可
这里我将图标借助 ym + 5 换成了横向排列
;自定义窗口
Gui, Destroy
Gui, +AlwaysOnTop +ToolWindow +E0x08000000
;Gui, Add, Button, gLeftScreen w60, Left
;Gui, Add, Button, gRightScreen w60, Right
Gui, Add, Picture, gImgBtnLeftScreen, D:\WinExe\AutoHotKey\Image\ic_left.png
Gui, Add, Picture, gImgBtnRightScreen ym + 5, D:\WinExe\AutoHotKey\Image\ic_right.png
Gui, Add, Picture, gImgBtnLock ym + 5, D:\WinExe\AutoHotKey\Image\ic_lock.png
Gui, Show, NoActivate AutoSize, WinTools ; NoActivate 让当前活动窗口继续保持活动状态.
return ; 自动运行段结束. 在用户进行操作前脚本会一直保持空闲状态.