定义一个上下文热键 ctrl+f如果在桌面下,按的ctrl+f 则在桌面路径下搜索(在everything搜索框里,粘贴桌面路径)如果是资管下,则获取当前的文件夹路径,则再文件夹路径下搜索
;调用Everything在当前目录下搜索
;http://blog.csdn.net/liuyukuan/article/details/77190339
;作者:Quant(1576157)
;2017年8月15日14:57:49
#SingleInstance force
GroupAdd, WinGroup, ahk_class Progman ;win7桌面
GroupAdd, WinGroup, ahk_class WorkerW
GroupAdd, WinGroup, ahk_class CabinetWClass ;win7资管
GroupAdd, WinGroup, ahk_class ExploreWClass
#F1::
RAMP("C:\Program Files\Everything\Everything.exe")
return
;RunOrActivateOrMinimizeProgram
RAMP(ExePath) {
tExe:=GetFilename(ExePath)
if (SubStr(tExe,-3)!=".exe")
tExe.=".exe"
if WinExist("ahk_exe" . tExe)
{
If WinActive("ahk_exe" . tExe) ; "ahk_exe" 后不需要空格.
{
WinMinimize
}
else
{
WinActivate
}
}else{
Run *RunAs "%ExePath%"
}
return
}
GetFilename(txt)
{
SplitPath, txt, o
return o
}
#IfWinActive ahk_group WinGroup
^f::
WinGetClass,o,a
if (o="Progman")
FilePath=%A_Desktop%
if(o="CabinetWClass")
{
ControlGetText, FilePath, ToolbarWindow322, A ;有网友说应该是323,这个控件值有时会变化,新的获取当前目录的方式可以参考 这里就有新技术
https://blog.csdn.net/liuyukuan/article/details/102492464
StringReplace, FilePath, FilePath, 地址:%A_space%, , All
if FilePath =
ControlGetText, FilePath, Edit1, A
; msgbox, %FilePath%
if FilePath=桌面
FilePath=%A_Desktop%
if FilePath=库\文档
FilePath=%A_MyDocuments%
if FilePath in 网上邻居,控制面板,回收站,计算机, 控制面板\所有控制面板项
FilePath=d:\
}
RAMP("C:\Program Files\Everything\Everything.exe")
WinWaitActive,ahk_exe Everything.exe
ControlSetText, Edit1, "%FilePath%"%A_space%, A
Send ^{End}
#IfWinActive