在vb.net中运行已打开的进程

时间:2013-01-14 08:42:19

标签: vb.net visual-studio-2010 visual-studio vb.net-2010

我有一个Windows窗体,只需单击一个按钮,就会运行一个进程(MATLAB)并执行一个文件。

    Dim myProcesses() As Process
    myProcesses = Process.GetProcessesByName("Matlab")
    If myProcesses.Count > 0 Then
        '~~~~ what goes here? ~~~~
    Else
        Dim startInfo As New ProcessStartInfo
        startInfo.FileName = "C:\Program Files\MATLAB\R2011b\bin\matlab.exe"
        startInfo.WorkingDirectory = MatlabDir    'MatlabDir is defined elsewhere
        startInfo.Arguments = "matlab.exe -r test_plot2"
        Process.Start(startInfo)
    End If

如果MATLAB尚未打开,上面的代码打开MATLAB并执行脚本“test_plot2.m”。但是,如果MATLAB已经打开,我在第一个IF语句中写什么,我想要做的就是运行文件?

提前致谢。

1 个答案:

答案 0 :(得分:0)

它应该是一样的。我的意思是,无论它是否打开都没关系,除非应用程序(Matlab)管理不同的东西,然后你必须猜测如何。您是否尝试过使用相同的代码?

示例:

    Dim startInfo As New ProcessStartInfo
    startInfo.FileName = "notepad.exe"
    startInfo.Arguments = "C:\temp\test.txt"
    Process.Start(startInfo)

如果您已经打开记事本,则无关紧要。