用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}
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
}
用AutoHotkey一键完成Xmind里的几个功能的更多相关文章
- 开启Windows8里面的Hyper-V虚拟机功能
首先了解下什么是Hyper-V?也就是虚拟化技术,允许终端用户在同一台机器上运行多个操作系统,支持32位和64位系统,可以直接在Windows 8上创建自己的虚拟机.开启Hyper-V虚拟机需要更多的 ...
- 微信小程序一键生成源码 在线制作定制功能强大的微信小程序
微信小程序发展到现在,短短的一年不到的时间(很快就要迎来微信小程序周年庆),在快迎来周年庆之际,百牛信息技术bainiu.ltd特记录一下这个发展的历程,用于将来见证小程序发展的辉煌时刻,我们还能知道 ...
- IM里“附近的人”功能实现原理是什么?如何高效率地实现它?
1.引言 基本上以陌生人社交为主的IM产品里,都会增加“附近的人”.“附近的xxx”这种以LBS(地理位置)为导向的产品特色(微信这个熟人社交产品里为啥也有“附近的人”?这当然是历史原因了,微信当初还 ...
- 一键保存Feedly里的文章到有道笔记
写在之前:今天升级了有道笔记3.5,发现有道笔记支持发邮件保存笔记了,所以就分享一下怎么通过IFTTT保存到有道笔记.因为IFTTT是外国货,所以一直没有有道笔记的频道,不过有了发邮件保存笔记的功能, ...
- 用AutoHotkey一键打开、激活、或隐藏Chrome(或其他软件)
热键的效果: 1.Chrome没打开时,打开Chrome 2.Chrome已打开,未激活时,则激活Chrome 3.Chrome已激活,则隐藏Chrome 本来这种功能对AutoHotkey来说非常简 ...
- 如何科学地完成一场 AR 发布会?全在这份超细节活动策划 Xmind 里了
你们在哪个酒店搭的景? 5 月 28 日,网易智慧企业完成了一场实景人物拍摄 + 虚拟舞台渲染的 AR 线上见面会.非常有趣的是,在直播过程中,不止一位观众问我们,“你们是在哪个酒店搭的景?”.看来我 ...
- JavaScript里最有效率的功能特征检测方法
代码执行效率对于程序员和程序来说都是至关重要的,尤其是遇到了那些需要大量调用.反复调用的函数方法.在很多Javascript框架里你都能看到有反复调用的函数.当在使用这些框架时,我们必须小心翼翼的尽量 ...
- 【netcore基础】.NET Core使用EPPlus实现MVC API里的Excel导出功能 配置中文表头
EPPlus 用来操作excel非常方便,不用依赖微软的office包,所以推荐使用. 下面是具体步骤和代码 首先用nuget安装 EPPlus.Core 我装的版本是 1.5.4 然后就可以用 Ex ...
- UE4里的自定义深度功能
转自:http://www.52vr.com/article-1866-1.html 随着物理渲染系统的发布,虚幻引擎4同时引进了一个新的深度缓存功能,它叫作“自定义深度”,可以用于诸如编辑器里的选择 ...
随机推荐
- C# Win7下隐藏手势提示
点击这里是原版答案 Stylus.IsFlicksEnabled="False" 手势是什么样子的
- Codeforces - 915E 离散化区间覆盖
我一直以来都错认为离散化就是换个映射,其实还需要在离散值两端加上相差为1的值才能真正离散 不然看一下test3就知道 不过这个离散姿势太暴力,以至于我1000ms时限跑出998ms(其实是太懒没有删重 ...
- docker容器启动几分钟之后自动退出
2018-11-06 问题: docker容器启动几分钟之后自动退出 log日志报错 WARNING: overlay2: the backing xfs filesystem is formatte ...
- vue 的计算属性computed自我理解
类型:{ [key: string]: Function | { get: Function, set: Function } } 计算属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算.注意, ...
- mysql 锁问题 (相同索引键值或同一行或间隙锁的冲突)
1.使用相同索引键值的冲突 由于mysql 的行锁是针对索引加的锁,不是针对记录加的锁,所以虽然是访问不同行的记录,但如果是使用相同的索引键,是会出现锁冲突的.设计时要注意 例如:city表city_ ...
- python_学生信息管理实例
"""提示:代码中的内容均被注释,请参考,切勿照搬""" """注意:代码切勿照搬,错误请留言指出" ...
- linux 运维基础之 禁止 ping
ping命令不要小瞧呀,小伙子!!! 听过死亡之ping不? 语法 ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l ...
- PHP jQuery实现上传图片时预览图片的功能实例
在PHP项目开发中,有时候经常需要做添加图片的功能.添加图片时,一般需要即时预览上传的图片.下面这个例子就是简单的预览上传图片功能,代码如下(分两部分): 1.HTML代码: <div clas ...
- 案例43-crm练习获取客户列表使用struts2
1 src下配置文件 1 struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYP ...
- Coursera 机器学习 第8章(下) Dimensionality Reduction 学习笔记
8 Dimensionality Reduction8.3 Motivation8.3.1 Motivation I: Data Compression第二种无监督问题:维数约简(Dimensiona ...