以下代码在适当设置MyWindowProcessingStyle的值后,有时可以工作,但在其他情况下不能工作:
Dim MyWindowsProcessingStyle As ProcessWindowStyle = ProcessWindowStyle.Maximized
' the above set elsewhere to values of minimized, maximized, hidden, and normal
Dim MyProcess as new Process
Dim MyProcessStartInfo As New ProcessStartInfo
With MyProcessStartInfo
.FileName = Program
.Verb = "open"
.CreateNoWindow = True
.WindowStyle = MyWindowProcessingStyle
.UseShellExecute = True
End With
myProcess.Start(MyProcessStartInfo)
例如,如果我用它来启动一个批处理文件(.bat),它在100%的时间内都能可靠地工作。
我需要保留MyProcessStartInfo中的其他部分,原因与我的应用程序如何工作有关。因此,
this observation
对我没好处。
我尝试过在应用程序启动后向它发送击键,例如(WIN)(downarrow)以在事后最小化应用程序—虽然这在很多情况下都有效,但在其他情况下它是有问题的和不稳定的。
我也尝试过在应用程序启动后获取进程ID或句柄,希望在此之后我可以使用各种Pinvolke方法来获取我想要的东西——但遗憾的是,我在这方面失败了。