在 Visual Basic 中,我创建一个应用程序对象并启动它:
gApp = New CANoe.Application
gMeasurement = gApp.Measurement
gApp.Open(arrArgs(0), False, False)
gMeasurement.Start()
一旦应用程序完成数据处理,可能会发生两种可能的情况:(i) 数据文件已损坏,并且(在正常情况下)会出现警报窗口,以及 (ii) 数据文件正常。在(ii)情况下,我可以使用gApp.Quit()
. 但是,如果 (i)gApp.Quit()
不起作用,因为程序需要用户输入(尽管通常我根本看不到窗口)。
问题一:gApp对应的流程如何比较?目前我正在以这种方式退出:
For Each p As Process In Process.GetProcesses
If p.ProcessName = "CANoe32" Then
p.Kill()
End If
Next
一般来说,这是一个糟糕的解决方案,因为可能会运行更多的 CANoe32 实例(尽管在这种特殊情况下,只有这个二进制文件的一个进程可能会在系统上运行)。
问题 2如果 gApp 有子窗口,那么退出 gApp 的更优雅的解决方案是什么?
任何评论都非常有帮助