使用Process.Start打开文件夹

199

我看到了另一个主题,但我遇到了其他问题。进程已经启动(在任务管理器中看到),但是文件夹并没有在我的屏幕上打开。出了什么问题?

System.Diagnostics.Process.Start("explorer.exe", @"c:\teste");

你确定你的路径是正确的吗? - Nathan Koop
1
为什么要手动调用资源管理器呢?为什么不直接打开文件夹,即使用ProcessStartInfo设置UseShellExecute属性为true并将Verb属性设置为"open",然后调用Process.Start方法呢? - OregonGhost
1
是的,我尝试打开没有路径的“explorer.exe”,也没有成功。 - Daniel
我没有发帖是因为问题不在于如何打开文件夹,而在于如何运行explorer.exe来打开文件夹。我只是想知道你为什么要直接调用explorer,因为可能有原因;) - OregonGhost
我只是想排除一些选项,所以这可能是个愚蠢的问题:你不是在Linux上使用mono做这件事,对吧?我们说的是Windows环境吗? - Fredrik Mörk
是的,Visual Studio | Windows Vista Business。 - Daniel
13个回答

0

当您从开始菜单运行“explorer.exe c:\teste”时,它是否正确打开?您尝试了多长时间?当我的计算机有很多进程并且我打开一个新进程(比如IE)时,我会看到类似的行为...它在任务管理器中启动,但不会显示在前端。您尝试过重新启动吗?

以下代码应该打开一个新的资源管理器实例

class sample{

static void Main()
{
  System.Diagnostics.Process.Start("explorer.exe",@"c:\teste");
}
}

0

System.Diagnostics.Process.Start("explorer.exe",@"c:\teste");

只需更改路径或在字符串中声明它即可


0

你在使用时是否有很多应用程序同时运行?我在工作中遇到了一些奇怪的情况,因为我的系统用尽了GDI句柄,由于我打开了很多窗口(我们的应用程序使用了很多)。

当发生这种情况时,窗口和上下文菜单将不再出现,直到我关闭一些东西以释放一些GDI句柄。

XP和Vista中的默认限制是10000。我的DevStudio经常有1500个GDI句柄,所以如果你打开了几个Dev Studio的副本,它会很快耗尽它们。你可以在任务管理器中添加一列,以查看每个进程正在使用多少句柄。

有一个注册表调整方法可以增加限制。

更多信息请参见 http://msdn.microsoft.com/en-us/library/ms724291(VS.85).aspx


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接