Process的Start方法不返回主线程

时间:2013-12-06 09:13:59

标签: .net vb.net

我正在使用以下代码启动其他过程:

        Dim winProcess As New System.Diagnostics.Process
        With winProcess
            .StartInfo.CreateNoWindow = True
            .StartInfo.ErrorDialog = False
            .StartInfo.FileName = "C:\Temp\TestProcess.exe"
            .StartInfo.UseShellExecute = True
            .StartInfo.WindowStyle = ProcessWindowStyle.Hidden
            .StartInfo.WorkingDirectory = My.Computer.FileSystem.SpecialDirectories.Temp

            .Start()

            'Continues here immediately after Start(), except on 2 PC's.

        End With

包含此代码的程序可以在100多种不同的Windows PC上完美运行(Vista / 7/8和32/64位的几种组合)。它是一个使用.NET Framework 4的32位程序。

到目前为止,在2台PC上代码不起作用。问题是在这些PC上,.Start()方法不会返回;所以程序挂起了那一步。从已启动的进程开始,我可以确定在执行Start()方法后,进程已正确启动并立即运行。

两台PC是Windows 7/64和8.1 / 64。

在过去的某个时刻,程序在这些PC上没有出现这个问题。这些PC上发生了一些事情,但我不知道是什么。

这些PC上没有运行病毒/恶意软件扫描程序和防火墙,只是为了确保这些不是原因。 Windows日志也没有透露任何内容。

我可以想象上述信息不足以确定问题的根源。我只是希望你们有人遇到同样的问题。

注意:我也熟悉C#;所以C#中的代码示例也很受欢迎。

0 个答案:

没有答案