2012-05-15 3 views
1

В настоящее время я пишу программу на Java, которая может открывать программы на моем компьютере, например MS Word. У меня проблема, потому что Runtime.getRuntime(). Exec() только успешно откроет определенные программы. Я использовал тот же самый код для всех программ, но независимо, некоторые программы не будут открываться.У вас возникли проблемы с запуском программы с помощью Runtime.getRuntime(). Exec (command)

Вот мой код программы я скачал, Picasa 3:

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() Exec() запустить все программы, которые я использую его. , и как мне запускать такие программы, как 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

Runtime exec может запускать приложения, которые находятся на пути Windows. Некоторые программы автоматически идут по пути, в то время как другие, такие как Picasa, не являются.

Единственный способ для этого - определить правильный путь и запустить это приложение.

+0

Как я могу найти пути, в которых работают мои программы, и смогу ли я использовать Runtime's exec? –

+0

Да, вы могли бы использовать вызов exec, если знаете путь. Путь - это местоположение исполняемого файла программы (файл .exe) в вашей системе. Я вижу, что уже есть отличный ответ, поэтому я не буду повторять его. – Ewald

0

Это может сработать для вас. Если вы хотите запустить определенную программу с помощью Runtime.exec(), просто добавьте ее путь установки к переменной пути в системных переменных. Чтобы найти путь установки, просто щелкните правой кнопкой мыши по его ярлыку и выберите «Найти цель». Затем завершите весь адрес в конце вашего пути Variable.

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"); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^