如何让java制作的程序知道某些文件类型,并让windows打开那个特定的扩展名呢?
当它是默认程序时,如何将图片放入该扩展程序?
例如,当我设置FOX-IT阅读器时,它将所有PDF文件发送到FOX-IT阅读器和阅读器中。推荐在PDF文件上的FOX-IT图片也是?
如果有一个类访问Windows中的某个文件?
答案 0 :(得分:1)
您正在谈论更改Windows设置,而不是与您的程序本身有关。 这是一个关于Windows的问题,而不是关于Java的问题。
通常情况下,在右键单击文件时按住shift键,选择“打开方式”,然后选择要用于打开文件类型的程序。
但是,由于您正在讨论Java程序,因此您可能没有可执行文件来运行。
在这种情况下,您需要自己在注册表中创建关联。
与处理注册表时一样,除非您知道自己在做什么,否则请不要更改,因为您可能会破坏系统。
在HKEY_CLASSES_ROOT下,为您的文件类型创建一个新密钥。我将在此示例中使用“.abc”扩展名,因此首先创建一个名为“.abc”的新密钥。 将密钥的(默认)值设置为“abcfile” 现在,创建另一个名为“abcfile”的键(在HKEY_CLASSES_ROOT下)。此处的(默认)值是您将在“类型”列中看到的名称。 在abcfile下面添加以下键树: abcfile
|外壳
+ - |开
- + - |命令
在“命令”的(默认)值中,输入打开文件时要运行的命令。对带有空格的路径使用引号,使用“%1”代替文件名。
例如:
"C:\Program Files\Java\jre7\bin\java.exe" -jar "C:\path\to\jar\MyJar.jar" "%1"
要更改图标,您需要在名为“DefaultIcon”的“abcfile”下创建另一个键。
将此键的(默认)值设置为图标文件的路径。
答案 1 :(得分:0)
要打开与文件扩展名关联的应用程序,您需要使用java.awt.Desktop
类。 Oracle有a tutorial with sample code。
获取应用程序的图标更加困难。您最好的做法是在您的应用程序中包含标准图标作为资源;应该涵盖大多数情况。