gpt4 book ai didi

c# - 如何使用 C# 获取当前在 Windows 资源管理器中打开的所有文件夹的完整路径?

转载 作者:行者123 更新时间:2023-11-30 23:19:40 25 4
gpt4 key购买 nike

我想获取当前在 Windows 资源管理器中打开的所有文件夹的完整路径。我已经设法以下列格式获取这些文件夹的所有句柄:

IntPtr WindowInformation.Handle

是否有可能从这些句柄中获得与此相似的列表,或者我是否需要使用其他方法?

C:\test\folder01\

C:\test\folder02\

D:\Games\

我找到了几个类似问题的答案,但其中一些只返回文件夹的名称,而另一个仅在文件夹中选择某些文件时才有效。我需要一个简单的所有当前打开文件夹的列表。我希望这是可能的,我以前从未使用过 WinAPI。

P.S.:Windows Vista/7/8/10 没问题,我不需要它在旧版本上工作。

最佳答案

它们可以通过 Shell APIs 窗口枚举(以及 Internet Explorer 窗口)获得,所以试试这个。

添加对 shell32/shdocvw.dll 的 COM 引用并:

foreach (SHDocVw.InternetExplorer window in new SHDocVw.ShellWindows()) {
if (Path.GetFileNameWithoutExtension(window.FullName).ToLowerInvariant() == "explorer") {
if (Uri.IsWellFormedUriString(window.LocationURL, UriKind.Absolute))
Console.WriteLine(new Uri(window.LocationURL).LocalPath);
}
}

关于c# - 如何使用 C# 获取当前在 Windows 资源管理器中打开的所有文件夹的完整路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40156477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com