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里的几个功能的更多相关文章

  1. 开启Windows8里面的Hyper-V虚拟机功能

    首先了解下什么是Hyper-V?也就是虚拟化技术,允许终端用户在同一台机器上运行多个操作系统,支持32位和64位系统,可以直接在Windows 8上创建自己的虚拟机.开启Hyper-V虚拟机需要更多的 ...

  2. 微信小程序一键生成源码 在线制作定制功能强大的微信小程序

    微信小程序发展到现在,短短的一年不到的时间(很快就要迎来微信小程序周年庆),在快迎来周年庆之际,百牛信息技术bainiu.ltd特记录一下这个发展的历程,用于将来见证小程序发展的辉煌时刻,我们还能知道 ...

  3. IM里“附近的人”功能实现原理是什么?如何高效率地实现它?

    1.引言 基本上以陌生人社交为主的IM产品里,都会增加“附近的人”.“附近的xxx”这种以LBS(地理位置)为导向的产品特色(微信这个熟人社交产品里为啥也有“附近的人”?这当然是历史原因了,微信当初还 ...

  4. 一键保存Feedly里的文章到有道笔记

    写在之前:今天升级了有道笔记3.5,发现有道笔记支持发邮件保存笔记了,所以就分享一下怎么通过IFTTT保存到有道笔记.因为IFTTT是外国货,所以一直没有有道笔记的频道,不过有了发邮件保存笔记的功能, ...

  5. 用AutoHotkey一键打开、激活、或隐藏Chrome(或其他软件)

    热键的效果: 1.Chrome没打开时,打开Chrome 2.Chrome已打开,未激活时,则激活Chrome 3.Chrome已激活,则隐藏Chrome 本来这种功能对AutoHotkey来说非常简 ...

  6. 如何科学地完成一场 AR 发布会?全在这份超细节活动策划 Xmind 里了

    你们在哪个酒店搭的景? 5 月 28 日,网易智慧企业完成了一场实景人物拍摄 + 虚拟舞台渲染的 AR 线上见面会.非常有趣的是,在直播过程中,不止一位观众问我们,“你们是在哪个酒店搭的景?”.看来我 ...

  7. JavaScript里最有效率的功能特征检测方法

    代码执行效率对于程序员和程序来说都是至关重要的,尤其是遇到了那些需要大量调用.反复调用的函数方法.在很多Javascript框架里你都能看到有反复调用的函数.当在使用这些框架时,我们必须小心翼翼的尽量 ...

  8. 【netcore基础】.NET Core使用EPPlus实现MVC API里的Excel导出功能 配置中文表头

    EPPlus 用来操作excel非常方便,不用依赖微软的office包,所以推荐使用. 下面是具体步骤和代码 首先用nuget安装 EPPlus.Core 我装的版本是 1.5.4 然后就可以用 Ex ...

  9. UE4里的自定义深度功能

    转自:http://www.52vr.com/article-1866-1.html 随着物理渲染系统的发布,虚幻引擎4同时引进了一个新的深度缓存功能,它叫作“自定义深度”,可以用于诸如编辑器里的选择 ...

随机推荐

  1. Advanced Data Structures in competitive programming

    1.bit #define isOn(S, j) (S & (1 << j)) #define setBit(S, j) (S |= (1 << j)) #define ...

  2. 04-树6 Complete Binary Search Tree (30 分)

    A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...

  3. linux下安装使用虚拟环境

    一.导语 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同 ...

  4. vue指令与事件修饰符

    一.条件渲染指令 vue中提供了两个指令可以用于判断是否要显示元素,分别是v-if和v-show. 实例: <!DOCTYPE html> <html lang="en&q ...

  5. SQL语句练习45题(从第11题开始)

    CREATE TABLE student (sno VARCHAR(3) NOT NULL, sname VARCHAR(4) NOT NULL, ssex VARCHAR(2) NOT NULL, ...

  6. contentType 应用,(表中数据大量存在外键时使用)

    当表中有大量的foreignkey 外键时,而且后期还有可能加入一些外键时, 使用django自带的contenttype表(表结构是app名和表的对应的每个类字段) 1. Django 中的 con ...

  7. 1.nginx安装和配置

    1.安装 1.1安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel wget 1. ...

  8. selenium原理和尝试

    引用文章:https://www.cnblogs.com/Albert-Lee/p/6238866.html Selenium是一个自动化测试框架.因为它能够模拟人工操作,比如能在浏览器中点击按钮.在 ...

  9. CSAPP阅读笔记-gcc常用参数初探-来自第三章3.2的笔记-P113

    gcc是一种C编译器,这次我们根据书上的代码尝试着使用它. 使用之前,先补充前置知识.编译器将源代码转换为可执行代码的流程:首先,预处理器对源代码进行处理,将#define指定的宏进行替换,将#inc ...

  10. pyspark 读写csv、json文件

    from pyspark import SparkContext,SparkConf import os from pyspark.sql.session import SparkSession de ...