0
Posted on 23:01:00 by Unknown and filed under ,

  一切为了偷懒!最近想用 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 中也能用。但是可能会覆盖掉剪贴板,有必要的话可以把剪贴板的内容暂存以下,然后再存回去。

0
评论 : AutoHotkey脚本:获取选中的文件名

发表评论