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}
TmpImageFile := A_Desktop . "\" . A_Now . ".png"
hyf_saveClipImage2File(TmpImageFile, IrfanView)
WinWaitActive Ahk_class #
hyf_sendByClip(TmpImageFile, "{Enter}")
Sleep,
FileDelete,% TmpImageFile
Return >^f:: ;添加附件:默认添加剪切板图片,长按添加TC当前选中的文件
Send, {Alt Down}i{Alt Up}a
Err := hyf_keyWaitXSJ(A_ThisLabel)
If Err ;长按RCtrl
{
hyf_TCPost(conTC3)
Sleep,
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 #
Sleep
hyf_sendByClip(TmpImageFile, "{Enter}")
}
Return hyf_moveTo_Click(x, y, n := , m := "Window", t := ) ;鼠标移动到x,y并点击n次 {{{
{ ;m默认为Window坐标, t为移动后延迟点击
tmp := A_CoordModeMouse
If (tmp != m)
CoordMode, Mouse, %m%
MouseMove, x, y,
Sleep, %t%
If n
Click %n%
CoordMode, Mouse, %tmp%
} hyf_saveClipImage2File(p, IrfanView) ;保存剪切板图片到p文件 {{{
{ ;建议用32位
RunWait,% IrfanView . " /clippaste /convert=" . p
} hyf_sendByClip(str, k := "", mark := "") ;用剪切板发送字符串并按键(可选) {{{
{ ;mark不为空,则不写入ClipTool
If mark
{
ClipTool_MarkTmp :=
c := ClipboardAll
}
Clipboard := str
While (Clipboard != str)
Sleep
Send, {Shift Down}{Ins}{Shift Up}
Sleep
If (k != "")
Send %k%
If mark
{
ClipTool_MarkTmp :=
Sleep
Clipboard := c
}
} hyf_keyWaitXSJ(hk) ;等待热键的修饰键弹起,返回ErrorLevel(一般按住不放为1) {{{
{ ;仅支持<>^!#+开头的热键
If (xsj := hyf_getXsjFromHotkey(hk))
{
KeyWait, %xsj%, T0.
Return ErrorLevel
}
} hyf_TCPost(n) ;TC中发送命令,2017复制文件名,2018为复制文件路径,2029复制目录路径 {{{
{
PostMessage, , %n%, , , Ahk_class TTOTAL_CMD
If ErrorLevel ;WinHide时会失败
{
WinShow Ahk_class TTOTAL_CMD
PostMessage, , %n%, , , Ahk_class TTOTAL_CMD
}
} hyf_tooltip(str, t := , ExitScript := , x := "", y := "") ;提示t秒并自动消失 {{{
{
t *=
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)[]
obj := {"<": "L", ">":"R", "^":"Ctrl", "+":"Shift", "!":"Alt", "#":"LWin"}
c1 := SubStr(hk, , )
If (c1 = "<" || c1 = ">")
{
r1 := obj[c1]
c2 := SubStr(hk, , )
If InStr("^!#+", c2)
Return r1 . obj[c2]
Else
Return
}
Else If InStr("^!#+", c1)
Return obj[c1]
Return
} hyf_removeToolTip() ;清除ToolTip {{{
{
ToolTip
}