VB:使用进程封装应用程序对象

时间:2013-09-02 16:52:14

标签: vb.net multithreading process multiprocessing kill-process

我从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)我想用不同的dataFiles作为作业运行可执行文件的多个实例,以及(ii)如果独木舟软件挂起或做了一些奇怪的事情我我希望能够从VB应用程序中删除该进程。

有可能实现相反的目标吗?即,给gApp Application对象(正在运行)以获取其进程ID?

有任何意见吗?

1 个答案:

答案 0 :(得分:0)

我相信答案是不可能的。我通过Windows COM接口请求资源并将其封装到进程中甚至可能是不可能的(可能根本不存在进程)

相关问题