用AutoHotkey一键完成Xmind里的几个功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用AutoHotkey一键完成Xmind里的几个功能相关的知识,希望对你有一定的参考价值。

F5一键添加超链接(类型为主题),常规步骤:Ctrl_h打开窗口,点击【主题】,激活光标到输入框。

Ctrl-i一键添加截取的图片,常规步骤是:打开画图→粘贴→保存图片为文件→Xmind里Ctrl-i→选择文件

Ctrl-f一键添加截取的图片为附件,常规步骤是:打开画图→粘贴→保存图片为文件→Xmind里点击【插入】→点击【附件】→选择文件

保存图片用到了IrfanView的命令行功能。

F5:: ;创建超链接并切换到主题
Send, {Ctrl Down}h{Ctrl Up}
WinWaitActive 修改主题的超链接
ControlClick, X61 Y212
Send {Shift Down}{Tab}{Shift Up} ;激活输入框
Return

>^i:: ;插入图片
Send, {Ctrl Down}i{Ctrl Up}
IrfanView := "d:\IrfanView\i_view32.exe"
TmpImageFile := A_Desktop . "\" . A_Now . ".png" ;临时图片存在桌面
hyf_saveClipImage2File(TmpImageFile, IrfanView)
WinWaitActive Ahk_class #32770
hyf_sendByClip(TmpImageFile, "{Enter}")
Sleep, 1000
FileDelete,% TmpImageFile
Return

>^f:: ;添加附件:默认添加剪切板图片,长按添加TC当前选中的文件
IrfanView := "d:\IrfanView\i_view32.exe"
Send, {Alt Down}i{Alt Up}a Err := hyf_keyWaitXSJ(A_ThisLabel) If Err ;长按RCtrl { hyf_TCPost(conTC3) Sleep, 100 If FileExist(Clipboard) Send, {Shift Down}{Ins}{Shift Up}{Enter} Else { WinClose A hyf_tooltip("没复制到文件") } } Else { TmpImageFile := A_Desktop . "\" . A_Now . ".png"  hyf_saveClipImage2File(TmpImageFile, IrfanView) WinWaitActive Ahk_class #32770 Sleep 200 hyf_sendByClip(TmpImageFile, "{Enter}") } Return #IfWinActive hyf_saveClipImage2File(p, IrfanView) ;保存剪切板图片到p文件 {{{3 { ;建议用32位 RunWait,% IrfanView . " /clippaste /convert=" . p } hyf_sendByClip(str, k := "", mark := "") ;用剪切板发送字符串并按键(可选) {{{3 { ;mark不为空,则不写入ClipTool If mark { ClipTool_MarkTmp := 1 c := ClipboardAll } Clipboard := str While (Clipboard != str) Sleep 10 Send, {Shift Down}{Ins}{Shift Up} Sleep 20 If (k != "") Send %k% If mark { ClipTool_MarkTmp := 1 Sleep 100 Clipboard := c } } hyf_keyWaitXSJ(hk) ;等待热键的修饰键弹起,返回ErrorLevel(一般按住不放为1) {{{3 { ;仅支持<>^!#+开头的热键 If (xsj := hyf_getXsjFromHotkey(hk)) { KeyWait, %xsj%, T0.3 Return ErrorLevel } } hyf_TCPost(n) ;TC中发送命令,2017复制文件名,2018为复制文件路径,2029复制目录路径 {{{3 { PostMessage, 1075, %n%, 0, , Ahk_class TTOTAL_CMD If ErrorLevel ;WinHide时会失败 { WinShow Ahk_class TTOTAL_CMD PostMessage, 1075, %n%, 0, , Ahk_class TTOTAL_CMD } } hyf_tooltip(str, t := 1, ExitScript := 0, x := "", y := "") ;提示t秒并自动消失 {{{3 { t *= 1000 ToolTip, %str%, %x%, %y% SetTimer, hyf_removeToolTip, -%t% If ExitScript { Gui, Destroy Exit } } hyf_getXsjFromHotkey(hk) { hk := LTrim(hk, "~*") If InStr(hk, " & ") Return StrSplit(hk, A_Space)[1] obj := {"<": "L", ">":"R", "^":"Ctrl", "+":"Shift", "!":"Alt", "#":"LWin"} c1 := SubStr(hk, 1, 1) If (c1 = "<" || c1 = ">") { r1 := obj[c1] c2 := SubStr(hk, 2, 1) If InStr("^!#+", c2) Return r1 . obj[c2] Else Return 0 } Else If InStr("^!#+", c1) Return obj[c1] Return 0 } hyf_removeToolTip() ;清除ToolTip {{{3 { ToolTip }

以上是关于用AutoHotkey一键完成Xmind里的几个功能的主要内容,如果未能解决你的问题,请参考以下文章

用AutoHotkey根据Excel表一键填写浙江省资产负债表

Xmind快速入门(基本操作够用了)

用AutoHotkey和WinSCP访问坚果云 2022年4月18日

autohotkey 如何设置多键位和一些组合键

AutoHotkey触发鼠标键

如何使一张ppt里的几个文本框之间的距离保持一致