在关闭主应用程序之前,Process.Start不会启动该过程

时间:2018-11-07 12:32:20

标签: c# wpf windows process.start

我有一个WPF应用程序。单击按钮,应用程序将使用Process.Start()方法“启动” VLC。我在2台计算机上测试了这个简单的应用程序:

public partial class MainWindow : Window
{
    ...
    private void RunVlcButtonClick(object sender, RoutedEventArgs e)
    {
        string applicationFile = "vlc.exe";
        MainWindow.RunProcess(applicationFile);
    }
    private static Process RunProcess(string applicationFile, string arguments = "")
    {
        Console.WriteLine($"Run process: {applicationFile} {arguments}");
        Process process = MainWindow.GetProcess(applicationFile, arguments);
        bool result = process.Start();
        if (!result)
            Console.WriteLine($"Can't start {applicationFile} {arguments}");
        return process;
    }
    private static Process GetProcess(string applicationFile, string arguments)
    {
        ProcessStartInfo processStartInfo = new ProcessStartInfo(applicationFile, arguments);Process.StandardOutput StreamReader.
        processStartInfo.RedirectStandardOutput = true;
        processStartInfo.RedirectStandardError = true;
        processStartInfo.RedirectStandardInput = true;
        processStartInfo.UseShellExecute = false;
        processStartInfo.CreateNoWindow = true;

        Process cmdProcess = new Process();
        cmdProcess.StartInfo = processStartInfo;
        cmdProcess.EnableRaisingEvents = true;

        return cmdProcess;
    }
}

如您所见,这并不新鲜也不复杂。在第一台计算机可以正常工作的情况下,,但是在其他VLC实例中,当主应用程序关闭时启动该计算机

第一台计算机是Windows 10 Pro(内部版本16299)台式机。

第二台计算机是Windows 10 Enterprise(内部版本10240)笔记本电脑。

您知道为什么会这样吗?

0 个答案:

没有答案