2013-03-26 44 views
1

我試圖用聲明打開pdf文件如何檢查PDF閱讀器安裝Java

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "Sample.pdf");

但我沒有在我的系統中安裝pdf閱讀器。所以當我執行這個程序時,什麼都沒有顯示。沒有例外來臨。如果Pdf閱讀器未安裝在系統中,任何想法都會得到例外。如果已經安裝了Pdf閱讀器,該程序正在運行完美。

回答

2

編輯
由於我以前的解決方案不起作用。這裏是另外一個,肯定會爲你工作:

try 
{ 
    File file = new File("Sample.pdf"); 
    java.awt.Desktop.getDeskTop().open(file); 
    System.out.println("File opened successfully"); 
}catch(Exception ex) 
{ 
    System.out.println("Error occurred: "+ex); 
} 
+0

非常感謝你 – alenlee 2013-03-26 06:59:14

+0

喜維沙爾它不工作。它來自if塊本身 – alenlee 2013-03-26 07:23:48

+0

@alenlee:觀看我的更新.. – 2013-03-26 14:51:43

0

對於你必須處理與註冊按鍵。

使用JNI來伎倆。

String productName = Advapi32Util.registryGetStringValue(
      WinReg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "ProductName"); 
     System.out.printf("Product Name: %s\n", productName); 

read/write to Windows Registry using Java

+0

我已經包括jna jar.but我找不到Advapi32Util jar文件。我試過Windows 64與64 bit.is有任何其他的jar需要? – Ami 2013-04-19 10:17:46