簡睿发表了一篇ahk文章,介绍在档案总管(资源管理器)或FreeCommander中,按鼠标中键(滚轮),实现返回上级目录的功能。现做转载,并修改其ahk代码,目前支持TC(Total Commander)、FC(FreeCommander)、资源管理器,适用于 WindowsXP – Win7。
提醒:①脚本需要安装AutoHotkey才能运行;②脚本会导致这些程序中鼠标中键的其他功能失效(比如mymutou提到“TC鼠标中键关闭标签功能失效”。 所以本脚本仅供参考和特殊情况下使用。
簡睿原文
不論在檔案總管或FreeCommander裡,切換到上層目錄的按鍵不同,為了更方便的快速切換到上層資料夾,我使用了AutoHotkey將按滑鼠滾輪(滑鼠中鈕)變成切換的按鈕,這樣手不用離開滑鼠就能切換目錄:
用WinGetClass將目前視窗的類別存入變數sClass,當類別是”TFcFormMain”(即FreeCommander的視窗類別)則送出FreeCommander切到上層的退倒鍵{BS},當類別是”CabinetWClass”(即檔案總管的視窗類別)則送出檔案總管切換到上層的〔Alt+Up〕。
Autohotkey安裝資料夾裡的AU3_Spy.exe能找出開啟中視窗類別(參考:用AutoHotkey防止因按Esc鍵而不慎誤關視窗)。[via]
修改后的ahk代码
【功能】在TC(Total Commander)、FC(FreeCommander)、资源管理器 中,按鼠标中键(滚轮),返回上级目录。
【原理】其实这个脚本的核心就一句“收到中键,发出backspace或Alt+up”——因为这3个程序中,返回上级目录的热键都是backspace 或 Alt+up(Win7资源管理器)。
【点评】鼠标中键比backspace键更“快捷”吗?这主要看用户的当下状态:如果双手在键盘上,当然用backspace键;如果正用鼠标浏览文件,当然中键更方便。
$MButton::
WinGetClass,sClass,A
if (sClass=”TFcFormMain” or sClass=”TTOTAL_CMD” or sClass=”ExploreWClass”)
Send, {BS}
else if (sClass=”CabinetWClass” || sClass=”#32770″)
Send, !{up}
else sendplay {MButton}
return
3层金字塔模型:我的ahk使用和学习体系
声明:我从来就不是ahk高手,只是现用现学而已。并且,我不关心ahk的技术细节和深入功能,纯属“实用主义”——这与amnesiac更积极的研究、推广思路是不同的。两种方式无对错优劣,视个人精力与风格。
我使用和学习(没错,先使用,后学习)AutoHotkey 的经验,或者推广到任何软件,甚至任何工具,可以用一个3层金字塔模型来表现。
第一层:自己编写且在用的脚本。
* 仅在必须且可能的情况下,才自己编写(或录制)脚本。如果手工工作量不太,不一定用脚本。如果脚本太复杂,估计查文档、调脚本所需时间过多,也不用脚本。
* 多数情况下,这类脚本极简单,比如只涉及键盘和鼠标输入、热键定义等命令。
* 有些脚本极简单、无技术含量、不通用、但极有效。比如现在注册weibo,会强行关注几十个人。我就录了一个脚本,模拟点击,来取消默认关注。
第二层:别人编写的脚本。
* 多看别人的脚本,是高效而有趣的学习方式。
* 有的脚本可直接使用。
* 有的脚本可修改后使用。
* 有的脚本会让你学到新思路或新命令,以备后用。
第三层:官方技术文档。
* 帮助文档、官网、作者在论坛的讨论与回复……
* 能够整体理解 AutoHotkey,知道 ahk 能做什么不能做什么,擅长做什么不擅长做什么,一切心中有数。
这3层,从塔尖到塔基,从脚本数量看,越来越多;而从实际使用看,则距离越来越远;再从知识或应用可能性来看,则起来越根本,越来越变化无穷。各层之间,具体是何比例?这要因人而异,因事而异,因时而异。模型大处是哲学,落到细节便是艺术,都难以量化。如果纯从主观判断,答案仍旧是那句话“心安之处,便是吾乡”。
发表回复
要发表评论,您必须先登录。