合理使用AutoHotkey+StrokeIt

作者:   日期: 2011-04-06  分类: 快捷操作, 系统工具   标签: ,

xbeta注:在追求操作快捷与自动化的路上,有3款软件不得不提:超小的快捷键神兵hoekey,超小的鼠标手势之王StrokeIt,此外还有更富扩展性的AutoHotkey。前二者长于调用,而后者则强于功能。将两类软件结合在一起,双剑合璧,会有何等效果呢?且看dyseat网友的做法!

下文转载自dyseat文章,xbeta略有修改。

《合理使用AutoHotKey+StrokeIt》

工作中总是有一些重复的动作要做。操作的次数多了,就想找点自动完成之类的东西。找来找去,选中了Autohotkey。虽然内存占用比hoekey大了一点点,不过功能比hoekey要多一些,可完成的动作也要多一些。相比之下,还是可以接受的。

我的Autohotkey的ini文件所有动作全是自己做成的,一般来说分两部分:输出字段、实现动作。

1. 输出字段:让AHK自动输出日期时间

工作中,经常会遇到需要输入当前系统时间的情况。你会怎么做呢?
① 数字键直接输入:这是最简洁的办法,但也是最低效的。
② 输入法:目前多数输入法都支持输入当前(或指定)日期,并支持不同格式。但对于同时使用多种输入法的朋友来说,要保持一致的体验,并非易事——比如,要输入当前日期,有的输入法要键入dqrq,有的则要键入date。笔者经常使用中英日3种输入法,根本就放弃了这一想法。
③ AutoHotkey输入:虽然要编写代码,但输出格式、触发方式可完全自定义,也超越了输入法的限制。代码如下:

代码示例1:按下 /dd ,输出 YYYY-MM-DD HH:MM:SS

::/dd::
d = %A_YYYY%-%A_MM%-%A_DD% %A_Hour%:%A_Min%:%A_Sec%
clipboard = %d%
Send ^v
return

代码示例2:按 /rs 输出 MMDD

::/rs::
d = %A_MM%%A_DD%
clipboard = %d%
Send ^v
return

2. AHK实现动作

目前为止,只写了一个,是用来控制becky的。因为工作都是用mail联系的,平均一天要收50+的mail。所以经常要打开、最小化becky。一天重复N次,虽然说不麻烦,也都只是鼠标点一下。不过要移动鼠标到特定的点进行点击,所以还是要浪费一些脑细胞的。所以写了这个东西,检查becky是否打开。如果没有就打开,如果打开就判断是否激活;如果没有就激活,如果已经激活就最小化。好像QQ的Ctrl+Alt+Z 功能一样,而且比那个功能还好。按一下出来,再按一下还能回去!方便啊!

代码如下:

^!#a::
IfWinNotExist, xxxxx – Becky!
;判断becky是否启动
Run,c:\SystemTools\Becky_jp\B2.exe
;没启动则启动becky
Else
{
IfWinActive, xxxxx – Becky!
;启动的话则判断becky窗口是否激活
WinMinimize,
;激活的话就最小化
Else
WinActivate,
;没激活的话就激活
}
return

3. 让 StrokeIt 调用 AHK

本来用上面这些就应该差不多了…….. 不过既然已经懒了就想更懒点…. 这个还是要点键盘的…..而有的时候如果手不在键盘上就要挪过来然后点然后在挪回去这个…… 对懒人来说是无法忍受的. 还好还好鼠标几乎是不离手的恩…..那当然是立刻想到用StrokeIt了.

其实StrokeIt本身也有一些不错的功能的不过毕竟还是有限的哪有AHK强大我现在的做法是能用StrokeIt本身功能的就用不能用的就写到AHK里然后用StrokeIt调用AHK的快捷键这样一来…..真的是方便啊…..

经过如下配置:
StrokeIt调用AHK

最终效果是:
- 鼠标右下一拉 becky显示 再右下一拉 becky隐藏
- 向右一拉 输出 MMDD
- 拉个D 输出 YYYY-MM-DD HH:MM:SS
- 向左下拉 当前窗口最小化
- 向右上拉 显示刚才最小化的那个窗口 (我是用他调用 Alt+Shift+Tab 来做到的)
- 还有一些….是定义在特定窗口里的…
而且这样用还有一个好处:想用鼠标调用就用鼠标调用,不想用鼠标调用,也可以直接用键盘调AHK。两边都不影响。(正文完)

附1:相关链接
AutoHotkey 0级入门教程:让重复工作一键完成
[鼠标手势StrokeIt]一鼠走天下-兼谈电脑操作的便捷性

附2:更新历史
2011-04-11:更新图片;解释输出日期为什么没用输入法。

分享到: 更多
作者: 2011-04-06 
出处: http://xbeta.info/ahk-strokeit.htm
说明:转载、投稿、翻译类文章版权信息以正文标注为准
分类: 快捷操作, 系统工具   标签: ,

热门评论

dyseat 发表于 2011-04-13 08:52:00 #
@amnesiac, 首先呢 我同意你的说法 在某些情况 特别是文件管理方面 键盘操作确实是比鼠标操作要快..... 可在另一些时候 比如网络相关的一些 鼠标就要更方便一些 我在其他的贴子里回了 在这个贴子没回 可能你没看到....我的需求的最开始部分的一定要有鼠标操作的.... 比如上着上着网 突然来了个mail....或是在网页里 点开一个页面 在输入框里输入当前的时间....或是新建一个mail 在其中的几个位置 比如title和mail的最后 输入当前的时间...等等 这类的... 在某些情况 特别是输入项目很少 只有几个字的时候 键鼠结合基本是最好的.. 比如我完成上面几个需求的时候 实际上 在大多数情况下 当时我手里是拿着鼠标的.....我要先用鼠标左键点一下 决定光标的位置 然后再输出....那么我是手离开鼠标 到键盘打字 然后手再回到鼠标 还是直接鼠标左键点一下 光标移到需要的位置 然后划一个鼠标手势 就完事了 哪个比较方便呢???? 另外....我发现好多人都误解了我这个文章的意思.....都盯着后面的鼠标手势不放..... 实际上 鼠标手势能做到的 比如日期输出 调出mail客户端 都是用键盘也能做到这些效果的... 只不过因为我的工作 更多的用到鼠标 我才又写了个鼠标手势来调用 如果不用鼠标 用键盘 一样能达到同样的目的.... 也就是 想用键盘就用键盘 想用鼠标就用鼠标.....这样才是最好的.....而不是 我就非要用键盘 或是非要用鼠标.....文章的最后一句 我个人觉得 这个才是极致....可以有各种方法 快速的完成任务....而每种方法都适用于不同的情况....
(3喜欢)
善用佳软 发表于 2010-11-29 13:24:21 #
我不用strokeit。 但类似需求,在 AutoHotkey 官方帮助中已提供了极好的例子。 the mouse wheel can be made into an entire substitute for Alt-tab. With the following hotkeys in effect, clicking the middle button displays the menu and turning the wheel navigates through it: MButton::AltTabMenu WheelDown::AltTab WheelUp::ShiftAltTab
(1喜欢)
dyseat 发表于 2011-04-08 12:30:34 #
@stainlist, 个人比较不习惯用输入法里的这种功能 虽然早就知道了.....不过因为我平时有中英日 3种输入....所以把输入定到一个输入法里...会比如麻烦.....来回的切换.....所以 AHK还是不错的 不管当前输入法是什么 都可用...... 可能就是需求不同吧......
(1喜欢)
amnesiac 发表于 2011-04-09 09:38:31 #
@dyseat, 我前面说的话可能有点朦胧, 这里小结一下, 减少鼠标的使用是追求速度的极致之道 (不必要使用鼠标的时候不使用). 由于环境, 习惯, 想法的不同, 我只简要说说我的实现方案, 主体由 AHK 实现, 适当时调用一些程序命令等. 对于上面鼠标手势实现的操作, 其中我需要的由热键实现. 对于这个方案, 有两个明显的特点: 取代 Windows Shell, 重新实现自己的热键 (在必要时覆盖原来的热键, 如 Alt+F4 关闭窗口, 目前我的实现是 Win+C); 第二是这个方案的细节一直在调整中, 以后可能考虑把热键完全在字母键区实现. 除去学习成本, 调整习惯的难度等其他, 比起之前的操作习惯目前我对速度基本满意, 也感觉比较舒适的.
(1喜欢)

无觅相关文章插件,快速提升流量