2008-09-17 55 views
6

我一直在使用Destop.open()在Vista和XP的Windows機器上啓動.pdf查看器,其中大部分工作正常。但是,在一臺XP機器上,調用不起作用,只是返回而不拋出任何異常,並且查看器不會啓動。在該機器上,文件關聯設置正確,據我所知:雙擊.pdf就可以工作,命令提示符下的「start xxx.pdf」命令也是如此。我認爲它必須是Windows配置問題,但不能把我的手指放在它上面。Java 1.6和Desktop.open()的問題

有沒有其他人看到過這個問題?

+0

我對Vista的同樣的問題。我發現了一個錯誤報告,暗示你[卸載magiciso](http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6546085),但這不適用於我。 – blank 2008-12-19 09:20:23

回答

3

這是早期版本的XP SP2中已知的問題,ShellExecute函數停止接受URI;帶來最新的XP機器補丁。

要查看例外確保Java控制檯打開時:

Control Panel->Java Control Panel->Advanced->Java Console. 
0

我仍然有這個問題,我的一個客戶,我會檢查窗口的什麼版本(據我記得他使用Windows 7,64位)。與pdf文件關聯可以(檢查)。他採用了最新的Java版本(檢查Java的更新),所以仍然是一個實際的問題,據我所關注.....

但是我跑這個錯誤報告: sun bug report 6764271

有人說,它可能與某些adobe版本的註冊有關(使用READ代替windows註冊表中的OPEN)。

仍然有一個像這樣的bug在prio上很低,但仍然是一個開放的bug(2008年報告)。

我會盡快與我的顧客覈對,並在我解決問題後立即更新我的答案。

1

我在任何地方都找不到答案,但是我有兩臺Windows 7 64位的機器,但未通過Desktop.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"});