1

我目前正在编写一个可以在我的 PC 上打开 .exe 程序的 Java 程序,例如 MS Word。我有一个问题,因为 Runtime.getRuntime().exec() 只会成功打开某些程序。我对所有程序都使用了完全相同的代码,但无论如何,有些程序不会打开。

这是我下载的程序 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

4 回答 4

4

我猜 Picasa3.exe 不在您的 %PATH% 上,所以它不知道如何加载它。您是否尝试过指定 Picasa3.exe 的完整路径?

Runtime.getRuntime().exec("cmd /c \"c:\\program files (x86)\\Google\\Picasa3\\Picasa3.exe\"")
于 2012-05-15T18:08:17.833 回答
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");
    }
于 2012-11-02T13:21:01.323 回答
0

运行时的 exec 只能启动 Windows 路径上的应用程序。有些程序会自动在路径上,而其他程序(例如 Picasa)则不会。

唯一的解决方法是确定正确的路径,然后启动该应用程序。

于 2012-05-15T18:11:54.340 回答
0

这可能对你有用。如果您想使用 Runtime.exec() 运行某个程序,只需将其安装路径添加到系统变量中的路径变量即可。要找到它的安装路径,只需右键单击它的快捷方式并选择“查找目标”。然后将整个地址连接到路径变量的末尾。

于 2012-05-15T19:01:58.520 回答