2013-01-14 5 views
0

버튼을 클릭하면 프로세스 (MATLAB)가 실행되고 파일이 실행되는 Windows 양식이 있습니다.vb.net에서 이미 열려있는 프로세스를 실행하십시오.

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 문에서 무엇을 작성해야합니까?

미리 감사드립니다.

+0

아마도 MATLAB에 명령 기반 사용자 인터페이스가 있습니다. 즉 "test_plot2.m"을 실행하려는 경우 명령 창에 "test_plot2"를 입력하면됩니다. – raheel88

답변

0

동일해야합니다. 내 말은 응용 프로그램 (Matlab)이 다른 것을 관리하지 않는 한 열거 나 말거나 상관하지 않는다는 것입니다. 그러면 어떻게 추측해야합니다. 같은 코드를 사용해 보셨습니까?

예 :

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

메모장 이미 열거 나하지 않은 경우 그것은 중요하지 않습니다.

+0

예, 동일한 코드를 사용해 보았지만 다른 MATLAB 창이 열립니다. 이것은 MATLAB이 상당히 부피가 큰 응용 프로그램 (열려면 시간이 걸릴뿐만 아니라)도 제한적이기 때문에 문제입니다. 나는 조금 더 놀아야 할 것 같은데! 어쨌든 고마워! – raheel88

+0

Matlab이 새 창을 열지 않고 새 문서를 여는 방법을 사용하려면 코드 (인수)가 있어야합니다. 어쩌면 문서를 읽거나 회사에 문의하는 것이 좋습니다. 행운을 빕니다! – SysDragon

관련 문제