也许吧。昨天别人给些的ahk脚本,是用于按快捷键直接打开批处理的:- #w::
- filePath:=Explorer_GetSelection()
- Run notepad %filePath%
- return
- Explorer_GetSelection(hwnd="") {
- WinGet, process, processName, % "ahk_id" hwnd := hwnd? hwnd:WinExist("A")
- WinGetClass class, ahk_id %hwnd%
- if (process = "explorer.exe")
- if (class ~= "Progman|WorkerW") {
- ControlGet, files, List, Selected Col1, SysListView321, ahk_class %class%
- Loop, Parse, files, `n, `r
- ToReturn .= A_Desktop "\" A_LoopField "`n"
- }
- else if (class ~= "(Cabinet|Explore)WClass") {
- for window in ComObjCreate("Shell.Application").Windows
- if (window.hwnd==hwnd)
- sel := window.Document.SelectedItems
- for item in sel
- ToReturn .= item.path "`n"
- }
- return Trim(ToReturn,"`n")
- }
复制代码 里面的Run notepad %filePath%昨天怎么测试都正常;但是恢复备份后却是必须显示扩展名才能以记事本的方式查看。记得昨天是根本不需显示扩展名的。这也是我疑惑的地方所在。
另外,之前出过类似的问题。我曾经写过的vba代码:
documents(abc).open
abc只是不带扩展名(.doc)的文档,代码一直能用,但是后来不知怎么的全都不行了。必须加上doc扩展名,令我印象十分深刻。到现在也不知到底什么原因。
现在想起来,和上面的问题很相似。 |