C# 使用c获取每个资源管理器窗口的路径#

C# 使用c获取每个资源管理器窗口的路径#,c#,path,C#,Path,我对C#很陌生 有时我关闭一个窗口,几秒钟后我注意到我再次需要这个窗口,这让我感到很无聊,重新打开Windows资源管理器并导航到那个特定的路径让我非常沮丧 因此,我想创建一个小应用程序,允许我存储上次关闭窗口的列表。使用快捷键逐个恢复最后关闭的窗口(就像我对Firefox等浏览器所做的那样),并使用其他快捷键显示最后n个窗口的列表 我不知道如何获得窗口的路径,重要的是,当路径发生变化时(当用户导航时),程序也会获得路径 谢谢你的帮助 一旦应用程序完成,我将发布链接。摘自: 你试过什么吗?谢谢

我对C#很陌生

有时我关闭一个窗口,几秒钟后我注意到我再次需要这个窗口,这让我感到很无聊,重新打开Windows资源管理器并导航到那个特定的路径让我非常沮丧

因此,我想创建一个小应用程序,允许我存储上次关闭窗口的列表。使用快捷键逐个恢复最后关闭的窗口(就像我对Firefox等浏览器所做的那样),并使用其他快捷键显示最后n个窗口的列表

我不知道如何获得窗口的路径,重要的是,当路径发生变化时(当用户导航时),程序也会获得路径

谢谢你的帮助


一旦应用程序完成,我将发布链接。

摘自:


你试过什么吗?谢谢你,盖瑞。我收到一个错误,表示找不到命名空间SHDocVw。请添加对Internet Explorer控件COM对象的引用。有关详细信息,请参见此处:。确定。我可以导入Internet Explorer控件COM对象。现在我得到了这个错误:不能嵌入互操作性类型“SHDocVw.ShellWindowsClass”。使用其所在位置的界面。正在谈论什么?编辑了上面的代码:
SHDocVw.ShellWindows ShellWindows=new SHDocVw.ShellWindows()现在工作完美!!只有我有一个错误,名称“handlerMethod”在当前上下文中不存在,但我猜我必须构建一个handlerMethod。非常感谢你。
SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows();

string filename;

foreach ( SHDocVw.InternetExplorer ie in shellWindows )
{
   filename = Path.GetFileNameWithoutExtension( ie.FullName ).ToLower();

   if ( filename.Equals( "explorer" ) )
   {
      // Save the location off to your application
      Console.WriteLine( "Explorer location : {0}", ie.LocationURL );

      // Setup a trigger for when the user navigates
      ie.NavigateComplete2 += new SHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(handlerMethod);
   }
}