我试图用声明打开pdf文件如何检查PDF阅读器安装Java
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "Sample.pdf");
。
但我没有在我的系统中安装pdf
阅读器。所以当我执行这个程序时,什么都没有显示。没有例外来临。如果Pdf
阅读器未安装在系统中,任何想法都会得到例外。如果已经安装了Pdf
阅读器,该程序正在运行完美。
我试图用声明打开pdf文件如何检查PDF阅读器安装Java
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "Sample.pdf");
。
但我没有在我的系统中安装pdf
阅读器。所以当我执行这个程序时,什么都没有显示。没有例外来临。如果Pdf
阅读器未安装在系统中,任何想法都会得到例外。如果已经安装了Pdf
阅读器,该程序正在运行完美。
编辑
由于我以前的解决方案不起作用。这里是另外一个,肯定会为你工作:
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);
}
对于你必须处理与注册按键。
使用JNI来伎俩。
String productName = Advapi32Util.registryGetStringValue(
WinReg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "ProductName");
System.out.printf("Product Name: %s\n", productName);
我已经包括jna jar.but我找不到Advapi32Util jar文件。我试过Windows 64与64 bit.is有任何其他的jar需要? – Ami 2013-04-19 10:17:46
非常感谢你 – alenlee 2013-03-26 06:59:14
喜维沙尔它不工作。它来自if块本身 – alenlee 2013-03-26 07:23:48
@alenlee:观看我的更新.. – 2013-03-26 14:51:43