有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java 1.6和桌面的windows问题。开()

我一直在用Destop。open()启动一个。Windows机器上的pdf查看器,包括Vista和XP,大多数都工作正常。但是,在一台XP机器上,调用不起作用,只返回而不抛出任何异常,并且查看器不会启动。就我所知,在这台机器上,文件关联已正确设置:双击文件。pdf可以工作,命令提示符下的“start xxx.pdf”命令也可以工作。我想这一定是Windows配置的问题,但我无法确定

还有谁见过这个问题吗


共 (3) 个答案

  1. # 1 楼答案

    这是XP SP2早期版本的一个已知问题,ShellExecute函数停止接受URI;使XP机器补丁更新

    要查看异常,请确保Java控制台已打开:

    Control Panel->Java Control Panel->Advanced->Java Console.
    
  2. # 2 楼答案

    我的一个客户仍然有这个问题,我会检查windows的版本(据我记忆所及,他使用的是64位windows 7)。与pdf的文件关联正常(已选中)。而且他使用的是最新的java版本(检查了java的更新),所以就我而言,这仍然是一个实际的问题

    然而,我看到了这个bug报告: sun bug report 6764271

    有人说这可能与某些adobe版本的注册有关(在windows注册表中使用READ而不是OPEN)

    仍然很遗憾,像这样的bug在prio上很低,并且仍然是一个开放的bug(2008年报道)

    我会尽快与我的客户核实,并在解决问题后立即更新我的答案

  3. # 3 楼答案

    我在任何地方都找不到答案,但我有两台Windows 7 64位的机器无法运行桌面。getDesktop()。在java 6和java 7上出现打开(文件)失败或访问被拒绝错误

    Windows资源管理器能够基于扩展名为的文件名打开应用程序:

    Runtime rt = Runtime.getRuntime();
    rt.exec(new String[]{"explorer", "C:\\myfile.pdf"});
    rt.exec(new String[]{"explorer", "C:\\myfile.wmv"});