【问题标题】:How to get the path of an open folder如何获取打开文件夹的路径
【发布时间】:2015-12-16 07:44:08
【问题描述】:

我需要获取打开文件夹的路径,我有一个程序可以检测按键并在按键发生时获取焦点窗口的句柄, 现在程序只有在打开的窗口是一个floder时才能工作,我需要获取当前打开的文件夹的路径。我设法获得了文件夹(explorer.exe)的进程路径,但这不是我需要的......(c#)

如何使用 Handle 或其他方式获取文件夹的路径?

谢谢!

【问题讨论】:

  • 我没有任何想法...我成功获取了窗口的名称并尝试使用它获取路径,但没有运气
  • You can't。无论如何,这是一个 XY 问题。解释为什么你需要这个。
  • 我想创建一个快捷方式,当您在文件夹处于焦点时按下按钮时,我将编辑文件夹的路径并在另一个路径中打开一个新的... @CodeCaster
  • 这纯粹是为了探索者?其他文件管理器呢?您是否探索过 shell API 或打算对此进行黑客攻击?
  • @DavidHeffernan 纯粹是为了资源管理器的文件夹而没有别的

标签: c# api winapi handle


【解决方案1】:

添加对 shell32.dll 和 shdocvw.dll 的 COM 引用

string path = null;
foreach (SHDocVw.InternetExplorer window in new SHDocVw.ShellWindows()) {
    if (your_known_explorer_HWND == window.HWND) {
        path = new Uri(window.LocationURL).LocalPath);
        break;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    相关资源
    最近更新 更多