我正在从 Visual Basic 启动一个外部应用程序来执行 CPU 和内存密集型计算。代码或多或少如下所示:
gApp = New CANoe.ApplicationgApp = New CANoe.Application
While gApp Is Nothing 'wait until CANoe started
Threading.Thread.Sleep(100)
End While
gApp.Open(canoeConfigFile, False, False)
gApp.Configuration.OfflineSetup.Source = dataFile
gMeasurement.Start()
While (gMeasurement.Running)
Threading.Thread.Sleep(1000)
End While
gApp.Quit()
能不能把上面的代码封装成一个进程?我最终正在寻找类似的东西:
Dim canoeProcess As New Process
canoeProcess.StartInfo.FileName = "C:\Program Files (x86)\Vector CANoe 8.1\Exec32\CANoe32.exe"
canoeProcess.Start()
gApp = canoeProcess.Application
...
' (the code continues as the above)
...
我想将应用程序封装到进程中的原因是(i)我想运行具有不同数据文件的可执行文件的多个实例作为作业和(ii)以防独木舟软件挂起或做一些奇怪的事情我想能够从 VB 应用程序中终止进程。
是否有可能实现反向?即,让 gApp 应用程序对象(正在运行)来获取其进程 ID?
任何意见?