用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同时引进了一个新的深度缓存功能,它叫作“自定义深度”,可以用于诸如编辑器里的选择 ...
随机推荐
- Advanced Data Structures in competitive programming
1.bit #define isOn(S, j) (S & (1 << j)) #define setBit(S, j) (S |= (1 << j)) #define ...
- 04-树6 Complete Binary Search Tree (30 分)
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...
- linux下安装使用虚拟环境
一.导语 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同 ...
- vue指令与事件修饰符
一.条件渲染指令 vue中提供了两个指令可以用于判断是否要显示元素,分别是v-if和v-show. 实例: <!DOCTYPE html> <html lang="en&q ...
- SQL语句练习45题(从第11题开始)
CREATE TABLE student (sno VARCHAR(3) NOT NULL, sname VARCHAR(4) NOT NULL, ssex VARCHAR(2) NOT NULL, ...
- contentType 应用,(表中数据大量存在外键时使用)
当表中有大量的foreignkey 外键时,而且后期还有可能加入一些外键时, 使用django自带的contenttype表(表结构是app名和表的对应的每个类字段) 1. Django 中的 con ...
- 1.nginx安装和配置
1.安装 1.1安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel wget 1. ...
- selenium原理和尝试
引用文章:https://www.cnblogs.com/Albert-Lee/p/6238866.html Selenium是一个自动化测试框架.因为它能够模拟人工操作,比如能在浏览器中点击按钮.在 ...
- CSAPP阅读笔记-gcc常用参数初探-来自第三章3.2的笔记-P113
gcc是一种C编译器,这次我们根据书上的代码尝试着使用它. 使用之前,先补充前置知识.编译器将源代码转换为可执行代码的流程:首先,预处理器对源代码进行处理,将#define指定的宏进行替换,将#inc ...
- pyspark 读写csv、json文件
from pyspark import SparkContext,SparkConf import os from pyspark.sql.session import SparkSession de ...