0

我有一个 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 语句中应该写什么?

提前致谢。

4

1 回答 1

0

它应该是一样的。我的意思是,它是否打开并不重要,除非应用程序(Matlab)管理不同的东西,那么你必须猜测如何。您是否尝试过使用相同的代码?

例子:

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

您是否已经打开记事本并不重要。

于 2013-01-14T08:50:53.040 回答