【问题标题】:check for process end to close splashscreen检查进程结束以关闭启动画面
【发布时间】:2016-12-16 09:37:00
【问题描述】:

我有一个 C# 中的 winform 应用程序,必须在第一次运行时创建一个 SQLLocalDB 实例。 我看到这个过程在一些旧电脑上需要一些时间,一些用户认为应用程序已经崩溃。 我创建了一个闪屏表单,让用户知道应用程序正在创建实例,但我不知道如何检查进程何时结束并关闭闪屏。

我有一个class,使用以下代码来创建实例:

static private void ExecCmdInstance()
{
    System.Diagnostics.Process process = new System.Diagnostics.Process();
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    startInfo.FileName = "cmd.exe";
    startInfo.Arguments = "/c sqllocaldb create MSSQLLocalDB -s";
    process.StartInfo = startInfo;
    process.Start();
}

谁能指出我正确的方向? 提前致谢。

【问题讨论】:

  • 挂钩你的process对象的Process.Exited事件。
  • @Manfred Radlwimmer 嗨,我看到您将问题标记为重复。当然,这篇文章有助于解决问题,但说它是重复的有点牵强。无论如何谢谢它有帮助
  • @septaug I don't know how I can check when the process has ended 和 how do I know if the process ended 不完全一样吗?

标签: c# sql winforms class


【解决方案1】:

你可以使用:

process.WaitForExit();

但请注意,它会阻塞您的 gui 线程。您可能会在不同的线程上启动该进程,因此您的 gui 不会被阻止。

【讨论】:

    猜你喜欢
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    相关资源
    最近更新 更多