如何以编程方式更改.bat文件的图标?

时间:2020-03-05 18:40:34  来源:igfitidea点击:

我想知道如何将.bat文件的图标实际设置为任意图标。
我将如何以编程方式独立于可能使用的语言进行操作。

解决方案

回答

我假设我们正在谈论Windows,对吗?我不相信我们可以直接更改批处理文件的图标。图标嵌入在.EXE和.DLL文件中,或者由.LNK文件指向。

我们可以尝试更改文件关联,但是该方法可能会根据我们使用的Windows版本而有所不同。 XP中的注册表已关闭,但是我不确定Vista。

回答

假设我们指的是MS-DOS批处理文件:由于它只是带有特殊扩展名的文本文件,因此.bat文件不会存储其自己的图标。

但是,我们可以使用.lnk格式创建存储图标的快捷方式。

回答

Shell(Explorer)批处理文件显示的图标由注册表项确定

HKCR\batfile\DefaultIcon

在我的电脑上

%SystemRoot%\System32\imageres.dll,-68

我们可以将其设置为任何我们喜欢的图标。

但是,这将更改所有批处理文件的图标(除非它们具有扩展名.cmd)。

回答

实现此目的的方法之一是:

  • 创建一个可执行的Jar文件
  • 创建一个批处理文件以运行上述jar并启动桌面Java应用程序。
  • 使用Batch2Exe转换器并秘密将文件批处理到Exe。
  • 在上述转换过程中,我们可以将图标更改为我们选择的图标。(必须是有效的.ico文件)
  • 将上述exe的快捷方式放在桌面上。

现在,Java程序可以像其他MSWindows应用程序一样以精美的方式打开。 :)