0
Posted on 23:01:00 by Unknown and filed under
AutoHotkey,
Software
一切为了偷懒!最近想用 AutoHotkey 实现:对选定的文件使用不同的快捷键可以用不同的程序打开。首先就面临一个问题,就是如何获取选定的文件的信息。在我想象中,可能会有"GetSelectedFilename"这样的函数,查了查帮助没找到。下面给出两种方法来实现这个想法。
有一种实现是用"ControlGet"获取窗口的某些信息,例子如下:
#z::
ControlGet, FileList, List, Selected Col1, SysListView321, A
MsgBox %FileList%
return
这种方法的缺点就是只对 Windows 资源管理器有效,TC中就不能这样获取了。而且获取的文件名称是不含有路径的。想要获得完整路径就要想别的办法,比如获取地址栏的信息等等。
第二种是用Ctrl+C复制,对于文件来说,内建变量转换成文本格式就是文件的路径。例子如下:
#v::
send ^c
SelectedFile = %clipboard%
Run gvim.exe %SelectedFile%
return
这种方法适用范围比较广泛,在 TC 中也能用。但是可能会覆盖掉剪贴板,有必要的话可以把剪贴板的内容暂存以下,然后再存回去。
发表评论