我正在使用以下代码启动其他过程:
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#中的代码示例也很受欢迎。