c# - C#中的应用程序启动

标签 c#

我们有一个小的 C# 启动应用程序,用户启动它可以从网络共享运行我们的主要 C# WinForms 应用程序的最新版本。这是一种简化的 ClickOnce 安排(我们的 IT 人员不允许我们使用 ClickOnce)。

启动应用程序在调用 Process.Start("MainApplication.exe") 后退出,但主应用程序可能需要几秒钟才能显示,给用户留下空白屏幕。

有没有一种方法可以让启动应用程序在退出前轮询操作系统以查明主应用程序是否正在运行?或者其他一些方法来处理这个?

最佳答案

您可以使用 Process.WaitForInputIdle() 等待您的应用程序进入空闲状态。

Process appProcess = Process.Start("MainApplication.exe");
appProcess.WaitForInputIdle();

来自 MSDN:

...you have just started a process and want to use its main window handle, consider using the WaitForInputIdle method to allow the process to finish starting, ensuring that the main window handle has been created

备注部分来自 Process.MainWindowHandle属性(property)。

关于c# - C#中的应用程序启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1499392/

相关文章:

c# - C# 中的 Fiddler 样式应用程序

c# - 如何将 XML 文件上传到 TomCat?

c# - 如何在c#中的ipaddress数组中按升序排列所有ip地址

c# - .IsKeyDown(Keys keys) 不工作?

c# - 在控件周围绘制边框

c# - Javascript 与 C#

c# - 使用 Microsoft.Data.Sqlite C# 获取最后一个插入 rowid

c# - asp.net 未找到 OpenCV 非托管 DLL

c# - 使用 xsd.exe 生成带有 SchemaImporterExtension 的 C# 类。不修改 machine.config

c# - 如何设置ListView的ItemsSource?