打开脚本文件进行编辑的更快方法[关闭]
Posted
技术标签:
【中文标题】打开脚本文件进行编辑的更快方法[关闭]【英文标题】:Quicker way to open script file for editing [closed] 【发布时间】:2017-01-08 14:51:56 【问题描述】:我可以使用 AutoHotkey 创建快捷方式来编辑脚本文件吗?
我知道您可以按 Context+E,或右键单击并编辑。更快的方法是按住 Ctrl+Shift 并双击文件。一个很好的优先级是如何按住 Alt 并双击文件以直接进入“属性”对话框。或按住 Ctrl+Shift 并双击文件夹以在新窗口中打开。
这显然适用于 AHK、BAT、VBS、REG 文件等语言文件。
【问题讨论】:
【参考方案1】:使用Shell.Application.Windows 在资源管理器窗口(不是桌面)中获取当前聚焦的文件。
; Alt + single click opens the file in notepad
~!LButton up::openFilesInEditor()
openFilesInEditor()
static shellApp := comObjCreate("Shell.Application")
mouseGetPos x,y, clickedWindow
winGetClass clickedWindowClass, ahk_id %clickedWindow%
if (clickedWindowClass != "CabinetWClass")
return
try
shellWindows := shellApp.Windows()
loop % shellWindows.count
win := shellWindows.Item(A_Index-1)
if (win.HWND = clickedWindow)
focusedFile := win.Document.FocusedItem.Path
run notepad "%focusedFile%"
return
catch e
;traytip,,Error %e%
要使用上下文菜单中的Edit
,请将run notepad
替换为run *Edit
代码已在 Windows 7 和 10 上测试。
【讨论】:
感谢您的回复。不过我不能上班。会不会是我们的标题不一致?我有#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. #Warn ; Enable warnings to assist with detecting common errors. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
@Nathan 您是否要在桌面上打开文件?代码没有说明这一点。 @wOxxOm 您可以将#IfWinActive ahk_exe explorer.exe
放在热键之前,而不是检查函数内的窗口类。这将使脚本在桌面上工作(至少在 Win7 中),并且在不需要时避免调用该函数。此外,一旦我们找到窗口,就没有理由继续循环。
@MCL,1) 桌面未在Shell.Application.Windows
中列出,因此无济于事 2) 目前脚本允许在非活动的资源管理器窗口中单击 alt,因此 ifwinactive 无济于事 3) 谢谢,找到窗口后添加return
在我的 W7 机器上,您的代码可以在桌面上运行(ahk_class Progman)。
我无法想象桌面会如何出现在 ShellWindows 集合中。也许您正在使用经典主题?【参考方案2】:
Ctrl + Double Click 或 Ctrl + Enter 执行右键菜单中的第二个动词,对于 VBS 文件是 Edit。
【讨论】:
这在正常的Windows环境下是不行的..以上是关于打开脚本文件进行编辑的更快方法[关闭]的主要内容,如果未能解决你的问题,请参考以下文章