【问题标题】:VB: Encapsulating an Application Object with a ProcessVB:用进程封装应用程序对象
【发布时间】:2013-09-02 16:52:13
【问题描述】:

我正在从 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?

有没有cmets?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 1970-01-01
      • 2015-10-05
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多