我有一个应用程序,可以将一系列文本文件写入用户计算机上的文件夹中。然后,它会提示他们是否要打开该文件夹以查看所有文件。我使用 System.Diagnostics.Process.Start() 来执行此操作并且效果很好。但是,如果已经有一个打开该文件夹的窗口,我只想重用该窗口,而不是打开另一个窗口。有助于保持元素整洁。
有什么想法吗?
更新:我尝试过:
if (MessageBox.Show("Compiled! Open folder?", "Compile Done", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
{
ProcessStartInfo Info = new ProcessStartInfo("explorer", Path);
Info.UseShellExecute = false;
Process.Start(Info);
}
但它仍然打开一个新窗口。我还尝试将 UseShellExecute 设置为 true,并且得到了打开新窗口的相同结果。
最佳答案
刚刚在 Windows XP 上尝试过:
System.Diagnostics.Process.Start(@"C:\Dev");
System.Threading.Thread.Sleep(10000);
System.Diagnostics.Process.Start(@"C:\Dev");
它打开了我的 C:\Dev 文件夹。然后我把注意力集中在其他地方。 10秒后,C:\Dev窗口闪烁并再次突出显示。那么,您在不起作用的地方做了什么不同的事情呢?
(尝试找出是否有一个打开的窗口显示特定文件夹是令人担忧且容易出错的。我不推荐这样做)
关于c# - 如何检查我的计算机上是否打开了另一个应用程序窗口(即遍历所有打开的窗口)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5883294/