如何获取另一个应用程序的图标?

时间:2012-05-21 21:52:38

标签: java windows

因此,在我正在制作的应用程序中,用户单击一个按钮,该按钮启动一个程序。此按钮将具有应用程序的标题和图标。我只需要知道如何获取图标,如下所示:Windows http://goo.gl/5WjdT

所以我想知道的是:

  1. 在Java中有没有真正的方法呢
  2. 如果是这样,你会怎么做?
  3. 提前致谢!

2 个答案:

答案 0 :(得分:9)

您是否必须获取与应用程序的exe文件关联的图标?如果是这样,可以在java中查看this tutorial,它解释了从Java应用程序中从可执行二进制文件中提取应用程序图标的几种方法。

看看这段代码:

String s = "c:/windows/regedit.exe";
File file = new File(s);

// Get metadata and create an icon
sun.awt.shell.ShellFolder sf =
        sun.awt.shell.ShellFolder.getShellFolder(file);
Icon icon = new ImageIcon(sf.getIcon(true));

答案 1 :(得分:7)

您可以简单地使用FileSystemView:

public static void main(String[] args) {
    Icon icon = FileSystemView.getFileSystemView()
         .getSystemIcon(new File("C:\\Windows\\regedit.exe"));
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.add(new JLabel(icon));
    frame.pack();
    frame.setVisible(true);
}