c# - 如何检查我的计算机上是否打开了另一个应用程序窗口(即遍历所有打开的窗口)?

标签 c# windows loops

我有一个应用程序,可以将一系列文本文件写入用户计算机上的文件夹中。然后,它会提示他们是否要打开该文件夹以查看所有文件。我使用 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/

相关文章:

java - 我怎样才能让这个程序在线性时间内运行?

java - 使用 Java - 每 9 个字符宽行打印四次迭代

c# - .NET 中的 "start/affinity"等价物

windows - 如何在 Windows 上的 Eclipse Juno 中为 C/C++ 设置调试器

python 异常错误子进程文件丢失 - 但是什么文件?

.net - 制作内存密集型后台应用程序 "friendly"

在循环中连接 c 中的宏

c# - IADsLargeInteger 的命名空间

c# - 在 C# (WinForms) 中拦截应用程序中所有控件的点击事件

c# - 我们可以在 c# 或 .net 支持的语言中将值类型转换为引用类型吗