0

ボタンをクリックするだけで、プロセス(MATLAB)を実行し、ファイルを実行するWindowsフォームがあります。

    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 に答える