2012-05-15 3 views
1

현재 MS Word와 같은 내 PC에서 .exe 프로그램을 열 수있는 Java 프로그램을 작성하고 있습니다. Runtime.getRuntime(). exec()가 특정 프로그램을 성공적으로 열었 기 때문에 문제가 발생했습니다. 모든 프로그램에 똑같은 코드를 사용했지만 관계없이 일부 프로그램은 열리지 않습니다. 여기 Runtime.getRuntime()으로 프로그램을 시작하는 데 문제가 있습니다. exec (명령)

Picasa에서 3 I 다운로드 한 프로그램 내 코드입니다 :.

class picasaHandler implements ActionListener 
{ 
    public void actionPerformed(ActionEvent r) 
    { 
     try 
     { 
      Runtime.getRuntime().exec("cmd /c start Picasa3.exe"); 

     } 
     catch (IOException t) 
     { 
      JOptionPane.showMessageDialog(null, 
        "Sorry, could not find Picasa 3"); 
     } 
    } 
} 

그래서 제 질문은 왜 안 Runtime.getRuntime() 간부 인() 나는 그것을 사용하는 모든 프로그램을 실행한다 Picasa 3과 같은 프로그램을 실행하려면 어떻게해야합니까? 지금은이 방법으로 실행할 수 없습니다.

답변

4

어디서나 Picasa3.exe가 % PATH %에 있지 않으므로로드하는 방법을 모를 것입니다. Picasa3.exe의 전체 경로를 지정하려고 시도 했습니까?

Runtime.getRuntime().exec("cmd /c \"c:\\program files (x86)\\Google\\Picasa3\\Picasa3.exe\"") 
+0

이것은 작동하지 않습니다. –

+0

올바른 경로를 입력해야합니다. 컴퓨터 경로가 무엇인지 추측하고 있습니다. – ametren

+0

정확한 경로를 입력했습니다. –

0

런타임의 exec는 Windows 경로에있는 응용 프로그램 만 시작할 수 있습니다. 일부 프로그램은 자동으로 경로에 있지만 다른 프로그램은 Picasa와 달리 경로에 있습니다.

유일한 해결 방법은 올바른 경로를 확인한 다음 해당 응용 프로그램을 시작하는 것입니다.

+0

내 프로그램이있는 경로를 찾는 방법과 런타임의 exec를 계속 사용할 수 있습니까? –

+0

예, 경로를 알고 있다면 여전히 exec 호출을 사용할 수 있습니다. 경로는 시스템의 프로그램 실행 파일 (.exe 파일)의 위치입니다. 나는 이미 반복적 인 대답을하고 있으므로 반복하지 않을 것입니다. – Ewald

0

이 방법이 유용 할 수 있습니다. Runtime.exec()을 사용하여 특정 프로그램을 실행하려면 시스템 변수에 path 변수에 대한 설치 경로를 추가하기 만하면됩니다. 설치 경로를 찾으려면 바로 가기를 마우스 오른쪽 단추로 클릭하고 "대상 찾기"를 선택하십시오. 그런 다음 경로 변수의 끝에 전체 주소를 연결하십시오.

1
File file=new File("picassa3"); 
String filename=file.getAbsolutePath(file); 
try 
    { 
     Runtime.getRuntime().exec(filename); 

    } 
    catch (IOException t) 
    { 
     JOptionPane.showMessageDialog(null, 
       "Sorry, could not find the file"); 
    } 
관련 문제