【问题标题】:Get file explorer path of current window with respect to tab in c#在c#中获取当前窗口相对于选项卡的文件资源管理器路径
【发布时间】:2023-01-22 06:38:09
【问题描述】:

我的应用程序使用一段方便的代码来获取文件资源管理器中当前活动实例的路径。由于资源管理器有标签,代码不能正常工作。它总是给我第一个选项卡的路径。但我想获取所选选项卡的路径。

如何获取活动资源管理器实例中活动选项卡的路径?

[DllImport("user32.dll")]
static extern int GetForegroundWindow();

dynamic o = Activator.CreateInstance(Type.GetTypeFromProgID("Shell.Application"));
string path = null;
try
{
    var ws = o.Windows();

    for (int i = 0; i < ws.Count; i++)
    {
        SHDocVw.InternetExplorer ie = ws.Item(i);
        if(ie.HWND == GetForegroundWindow())
        {
            if (ie == null) continue;
            var path = Path.GetFileName((string)ie.FullName);

            if (path.ToLower() == "explorer.exe")
            {
                path = ie.LocationURL.Replace("file:///", "");
                Debug.WriteLine("PATH: " + path);
            }
            break;
        }
    }
}
finally
{
    Marshal.FinalReleaseComObject(o);
}

Documentation

由于选项卡是非常新的,这可能还没有实现吗?

【问题讨论】:

    标签: c# explorer


    【解决方案1】:

    这可能尚未实现,因为选项卡在文件资源管理器中相对较新。但是,值得检查一下 Microsoft 是否有任何可能提供您正在寻找的特定功能的更新文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 2011-11-05
      • 2020-10-31
      • 2016-04-13
      • 2015-06-13
      相关资源
      最近更新 更多