获取启动应用程序的 Windows 资源管理器实例的 HWND 或标识符

问题描述 投票:0回答:0

我想知道是哪个资源管理器实例导致了打开。我使用以下代码尝试获取启动资源管理器 HWND:

var handle = GetForegroundWindow();

ArrayList selected = new ArrayList();
var shell = new Shell32.Shell();
foreach (SHDocVw.InternetExplorer window in shell.Windows())
{
   if (window.HWND == (int)handle)
   {
       Shell32.FolderItems items = ((Shell32.IShellFolderViewDual2)window.Document).SelectedItems();
       foreach (Shell32.FolderItem item in items)
       {
          selected.Add(item.Path);
       }
   }
}

不过,我很快意识到它不起作用,因为一旦启动的应用程序获得焦点,它就会成为前台窗口,因此代码将无法运行。任何信息表示赞赏。

c# explorer hwnd
© www.soinside.com 2019 - 2024. All rights reserved.