我想在运行时从自身内部更改正在运行的HTA的图标(你知道,窗口左上角的小图标,在运行时位于任务栏上)(所以很可能使用VBScript或JavaScript)。我该怎么做呢?
(只是为了让我们清楚,因为谷歌搜索这个问题给了我所有错误的答案:我不打算做的是在资源管理器中查看时更改 .hta 文件本身的图标,并且我没有尝试创建任何带有特定图标的快捷方式。我想让 HTA 在运行时随时任意更改它自己的运行图标。
感觉就像是我找不到的简单东西。
我已经尝试过设置(我的HTA应用程序对象)。图标,虽然它不会抛出错误,我什至可以读取属性并显示新值,但实际图标不会更改。
如有疑问,请阅读文档:
言论
注意
icon
属性是只读的;但是,ICON
属性可用于设置初始值。
基本上,你问的是不可能的。
即使可以在运行时更改不会更改标题栏中实际图标的属性:
<html>
<hta:application id="oHTA"
icon="C:pathtosome.ico"
/>
<script language="VBScript">
Sub ChangeIcon
MsgBox oHTA.icon 'output: C:pathtosome.ico
oHTA.icon = "C:pathtoother.ico"
MsgBox oHTA.icon 'output: C:pathtoother.ico
'icon in titlebar still remains the same, b/c only the attribute was updated!
End Sub
</script>
<body>
<p><input id="foo" type="button" value="Change Icon" onClick="ChangeIcon"></p>
</body>
</html>
我迟到了 3 年。但这个答案适用于来自谷歌搜索结果的任何人。
此过程有两个步骤。数字 1 在 <hta:应用程序部分,您需要:>
然后,您需要将.ico文件以二进制格式复制到HTA文件的开头。您可以使用以下命令从命令提示符执行此操作: copy/b favicon.ico+myhta.hta myhta_new.hta 输出文件 myhta_new.hta 将具有一行二进制文本,但 hta 文件将将其用作嵌入式图标。