程序的可执行文件以Java形式成像

时间:2012-09-26 05:47:03

标签: java windows swing

我知道这看起来有点奇怪,但我有这个要求,我想知道这是否可行。

我有一个java swing应用程序,我选择一个文件(程序),这个程序被添加到列表中。列表完成后,我执行程序列表(这就像一个启动管理器)。

我想做的是以某种方式,抓取我选择的文件并将其作为图像显示到我的UI。对于像pdf,doc,txt这样的常见文件,这很简单,我只为每种类型都有一个通用图像。但是让我说我​​想执行regedit.exe或msconfig.exe,我希望能够抓住它的图标(下图)。

enter image description here

有谁知道如何做到这一点?

由于

2 个答案:

答案 0 :(得分:5)

看看FileSystemView.getSystemIcon(File)

它有点受限(因为你只会得到一个尺寸),但它内置并且不需要任何额外的库或JNA或JNI甚至......

File f = new File(...);
Icon icon = FileSystemView.getFileSystemView().getSystemIcon(f);

答案 1 :(得分:0)

如果你想要原生图标,你需要JNI。 Java没有用于获取不同大小的本机图标的默认API。以下是Windows和Windows的一些起点。的Linux:

如果您不需要确切的原生图标,您可以获取文件的mimetype并自行设置图标: