2009-09-07 3 views
2

VB.net에서 어떻게 프로그래밍 방식으로 .exe 파일을 시작할 수 있습니까? 거기에 파일이 있는지 확인하는 방법이 있습니까?.exe 파일 관리

System.IO를 사용하여 확인하는 방법이 있다는 것을 알고 있지만 잘 모르겠습니다. 그러나, 나는 거기에 있다면 그 .exe를 시작하는 방법에 관해서는 조금이라도 단서가 없기 때문에 도움을 주셔서 감사합니다!

답변

2

사용 System.IO.File.Exists 및 System.Diagnostics.Process.Start.


     Dim someExe As String = "MyAppsPath\some.exe" 
     Dim fullPath As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), someExe) 
     If File.Exists(fullPath) Then 'Checks for the existence of the file 
      Process.Start(fullPath)  'Executes it 
     End If 
+0

/program files /에서 .exe 파일을 어떻게 확인할 수 있습니까? – Cyclone

+0

샘플 코드를 업데이트하여 % ProgramFiles % –

+0

에서 구할 수 있습니다. @Cyclone : 대부분의 경우 특정 앱이있는 사용자를 확인하는 것이 좋습니다. - 내 버전의 TotalCommander를 사용하면 압축 유틸리티가 어디에 있는지 지정할 수 있습니다. 설정 창에서 이렇게하면 올바른 경로가 보장되거나 사용자가 오류를 범한 것으로 알릴 수 있습니다. 필요에 따라 도움이 될 수도 아닐 수도 있습니다. 궁극적으로, 프로그램이 설치의 일부로 제공되지 않는 프로그램 인 경우 사용자가 알고 있다고 생각하는 경우에도 프로그램이있는 위치를 사용자가 지정할 수있게하십시오! –

2

System.Diagnostics.Process 클래스를 확인하십시오. MSDN 페이지에는 완벽한 코드 스 니펫이 있으므로 여기에 복사하지 않습니다.

프로세스에 대한 좋은 점은 실제로 파일 (예 : HTML 파일)을 시작할 수 있으며 사용자의 기본 브라우저를 사용하여 열 것이라는 점입니다. 많은 일반 프로그램은 명령 줄 매개 변수도 허용합니다. 많은 브라우저는 URL을 명령 줄 매개 변수로 받아들이므로 특정 URL을 열 수 있습니다.

1

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx

OpenFileDialog를 OD = 새로운 OpenFileDialog를(); 문자열 경로 = od.ToString() System.Diagnostics.Process.Start (경로)

+0

vb.net이 아니고, 그럴 경우 해당 코드는 작동하지 않습니다. –

+0

세미콜론이있는 것은 분명히 제한된 지식이 있어도 vb.net lol이 아닙니다. – Cyclone

+0

내가 문자열 Dim 대신 문자열 경로 대신 Integer Dim 경로로 변경해야합니다. 나는 C로 프로그래밍하고있다. # (기본값) – Alynuzzu

1

당신은 .EXE를 실행하는 System.Diagnostics.Process가를 사용할 수 있으며,이 콘솔/명령 줄 응용 프로그램의 경우에도 출력을 캡처 할 수 있습니다. 당신은 (이 상당히 단순화되어 있지만 명심!) 이런 식으로 뭔가를 할 것이다 : 프로그램이 여전히 캡처 할 경우

process.HasExited() 

전화를 실행중인 경우

dim process as System.Diagnostics.Process 
process.StartInfo.FileName = "program.exe" ' You need to be smarter here! 
process.StartInfo.Arguments = "whatever command line options you need" 
process.Start() 

을 확인하려면 StartInfo.RedirectStandardOutput을 True로 설정해야하는 출력.