检查目录是否正在 Windows 10 资源管理器中打开
Check if directory is being opened in Windows 10 explorer
我想检测文件夹是否 "in use"(我将其定义为好像它或任何子文件夹在 Windows 文件资源管理器中打开)。有没有办法获取文件资源管理器打开的所有文件夹的路径?我做了一些阅读,有人说 explorer.exe 是作为任务的进程 bar/start 菜单,你必须改变一个选项来分开它?我可以这样做,因为这个程序只会在一台电脑上运行。
我知道批处理不是最好的方法,但是这可能吗?
我认为你做不到。即使启用 Launch folder windows in a separate process,也不会使用命令行中的文件夹路径调用新进程
如果将调试器附加到 explorer.exe 并读取进程内某处的路径,这可能是可能的,但这也不是一个好方法,而且会很慢
Set objShell = CreateObject("Shell.Application")
Set AllWindows = objShell.Windows
For Each win in AllWindows
WScript.Echo win.LocationUrl
Next
批量使用
For /f "delims=" %A in ('cscript //nologo "C:\Users\User\Desktop\Bat+Vbs\ListOpenShellWindows.vbs"') Do @Echo %A
我想检测文件夹是否 "in use"(我将其定义为好像它或任何子文件夹在 Windows 文件资源管理器中打开)。有没有办法获取文件资源管理器打开的所有文件夹的路径?我做了一些阅读,有人说 explorer.exe 是作为任务的进程 bar/start 菜单,你必须改变一个选项来分开它?我可以这样做,因为这个程序只会在一台电脑上运行。
我知道批处理不是最好的方法,但是这可能吗?
我认为你做不到。即使启用 Launch folder windows in a separate process,也不会使用命令行中的文件夹路径调用新进程
如果将调试器附加到 explorer.exe 并读取进程内某处的路径,这可能是可能的,但这也不是一个好方法,而且会很慢
Set objShell = CreateObject("Shell.Application")
Set AllWindows = objShell.Windows
For Each win in AllWindows
WScript.Echo win.LocationUrl
Next
批量使用
For /f "delims=" %A in ('cscript //nologo "C:\Users\User\Desktop\Bat+Vbs\ListOpenShellWindows.vbs"') Do @Echo %A