2008-10-06 48 views
12

我已经写了一个HTML应用程序(hta文件),并且想知道是否有将图标文件嵌入到hta文件本身的方法。我可以将图标嵌入.hta文件吗?

我已经看到包含嵌入式图形文件的html电子邮件,有没有办法用html应用程序和图标做到这一点?

HTA文件有一个HTA:APPLICATION标记,允许您指定一个图标,但我只想要一个文件进行下载。我不想有外部图标文件。这可能吗?

有关hta文件的更多信息:HTA files

回答

20

我发现了一个黑客来设置图标。

准备一个图标文件icon.ico和HTA文件source.hta具有以下内容:

<HTML> 
<HEAD> 
    <SCRIPT> 
     path = document.URL; 
     document.write(
     '<HTA:APPLICATION ID="oHTA" APPLICATIONNAME="myApp" ICON="'+path+'">'); 
    </SCRIPT> 
</HEAD> 
<BODY SCROLL="no"> 
    Hello, World! 
</BODY> 
</HTML> 

打开命令提示和类型:

copy /b icon.ico+source.hta iconapp.hta 

即会将图标和hta连接成单个文件。

在我的测试案例中,Internet Explorer跳过图标数据并正确显示HTML。

然后使用javascript将该图标的路径设置为.hta文件本身的路径,并加载该图标。

我已经测试了这个在Windows XP SP3,Internet Explorer 8中

5

我记得看到this一个looong时间前工作的HTML文件的方式:

<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7"width="16" height="14" alt="embedded folder icon"> 

我已经尽管我从来没有尝试过。

+1

这是一个dataURL,这将是除了IE一个很好的解决方案不支持他们,直到版本8 – 2008-10-09 00:00:59

+1

您可以将图像转换为dataURL [这里](HTTP:// dataurl .net /#dataurlmaker) – 2016-05-30 17:42:48

1

IE不支持数据URI,因此如果您使用img标签,您将不得不使用外部文件。

我能想到的唯一的事情就是使用VML,它自IE5以来一直存在。这是一种类似SVG的矢量图像格式,可以内联使用。例如,使用this VML editor绘制一些东西,然后单击“获取代码”。你可以在你的HTA中使用。我没有意识到任何会将图像直接转换为VML的东西,但我相信有一种方法可以从某些Office产品导出到VML。

+0

HTA中的图形的好处,但不适用于标记中指定的图标。 – 2008-10-09 00:01:56

+0

啊,你说得对。哎呦。 – seisyll 2008-10-09 02:57:29

1

这是一个相当遥不可及的答案,但是您可以在HTA中将图标作为base64编码的XML嵌入,然后使用JavaScript onload并将图标文件保存到临时位置。 ActiveX对象MSXML.DomDocument可以对base64节点进行编码和解码。

+0

这听起来很有希望。你能告诉我一些示例代码吗?我的HTA文件可以从http://www.boltbait.com/htmleditor/下载。谢谢! – BoltBait 2008-10-13 16:28:51

1

只要您需要一个< iframe>或其他HTML对话框,您将需要额外的文件。您一般会发现.CSS和.VBS文件与.HTA分开,使编程和支持对于任何非平凡的HTA都变得更加容易。

将其作为“单个EXE”的一种替代方法是将所有内容都包装为自解压存档或通过IExpress。当用户“运行你的程序”时,它将你档案中的所有内容提取到一个临时目录中,并运行你选择的项目。

也有第三方的替代品,如HTMLApp

9

考虑在System32中为您的图标使用其中一个应用程序。

这不会更改桌面上的HTA文件的图标,但一旦它运行,它将为任务栏等添加一些个性。

我经常使用以下内容为我的HTA添加一些魅力。

<hta:application icon="magnify.exe" /> 

我不相信这是可能使用的图标从库中,但只是开System32下的资源管理器,并更改为图标视图,看看是否有吸引你的花哨可言任何图标。

3

另一种可能的解决方案,但有问题的精确措辞不完全兼容,会使用到HTA转换成.EXE文件“HTAedit”应用程序(http://www.htaedit.com/)。

他们提供了一个完整的功能(只是一些启动唠叨屏幕,没有历史记录/最近的文件)的试用版,没有阻止从HTA源创建.EXE,没有时间限制。

然后,你可以在HTA头块中用ICON =“myicon.ico”语句声明你的图标,然后当它“编译”时(根据我的观点,它更可能是一个打包者而不是真正的编译器,但这不是点这里)它要求你额外的资源文件。如果你的图标文件没有在那里列出,那么只需将它添加到列表中,“etvoilà!”。你会得到一个很好的可执行文件,它的版本号和嵌入图标。

实际上这就是我对Microsoft脚本专家工具(HTA_HELPOMATIC.HTA和SCRIPTOMATIC.HTA)所做的工作:我只是在EXE中更改了它们,添加了一些来自%windir%\ system32 exe/dll的图标,我发现它们或多或少匹配这些工具的意义,它的工作完美。

在运行时,它可能比将图标嵌入到HTA中更具可移植性(HTAedit工具似乎能够生成W7/64可执行文件,但我没有这样测试,我仍然在XP32-SP2下...),它保持你的源文件的hta文件可读和可编辑的文本编辑器。

4

我知道这不完全是OP所要求的,但是,不要在.hta中嵌入图标,您是否考虑过指向图标文件的URL?许多网站有一个网站图标favicon.ico这HTA应用程序的工作原理:

<HTML> 
<HEAD> 
    <HTA:APPLICATION 
     ID="oHTA" 
     APPLICATIONNAME="myApp" 
     ICON="http://stackoverflow.com/favicon.ico"> 
</HEAD> 
<BODY SCROLL="no"> 
    Hello, World! 
</BODY> 
</HTML> 

这让您在图标无限选择,而不需要部署一个与您的HTA应用程序。

0

另一个解决方案,但不完全符合问题的确切措辞,是创建一个简单的快捷方式。对于64位系统,你应该输入:

目标:C:\ WINDOWS \ Syswow64资料\ mshta.exe C:\路径+ filename.hta

开始在:C:\ WINDOWS \ SysWOW64中

您可以手动更改快捷方式的图标。 用户可以将快捷方式拖动到任务栏。

hta文件的扩展对mshta.exe并不重要。所以如果你给它一个自定义扩展,那么hta文件将显示相应的自定义图标。

0

您可以将base64编码图像嵌入到HTA中,并在第一次执行时在本地创建文件。

下面是一个HTA,它从base64字符串中创建一个“favicon.ico”(https://stackoverflow.com/favicon.ico)文件。它也可以对图像文件进行编码(代码适用于Base64 Encode String in VBScriptVBScript to open a dialog to select a filepath)。

<!DOCTYPE html> 
<html> 
<head> 
<HTA:APPLICATION 
    ID="oHta" 
    APPLICATIONNAME="Icon test..." 
    ICON="favicon.ico" 
/> 
<LINK id=shortcutlink REL="SHORTCUT ICON" HREF="favicon.ico"> 
<META http-equiv="x-ua-compatible" content="text/html; charset=utf-8"> 
<TITLE>Icon test</TITLE> 
</head> 

<script language=vbscript> 

Function fBase64Encode(sourceStr) 

    Dim rarr() 

    carr = Array( "A", "B", "C", "D", "E", "F", "G", "H", _ 
        "I", "J", "K", "L", "M", "N", "O" ,"P", _ 
        "Q", "R", "S", "T", "U", "V", "W", "X", _ 
        "Y", "Z", "a", "b", "c", "d", "e", "f", _ 
        "g", "h", "i", "j", "k", "l", "m", "n", _ 
        "o", "p", "q", "r", "s", "t", "u", "v", _ 
        "w", "x", "y", "z", "0", "1", "2", "3", _ 
        "4", "5", "6", "7", "8", "9", "+", "/")  

    n = Len(sourceStr)-1 

    ReDim rarr(n\3) 

    For i=0 To n Step 3 
     a = Asc(Mid(sourceStr,i+1,1)) 
     If i < n Then 
      b = Asc(Mid(sourceStr,i+2,1)) 
     Else 
      b = 0 
     End If 
     If i < n-1 Then 
      c = Asc(Mid(sourceStr,i+3,1)) 
     Else 
      c = 0 
     End If 
     rarr(i\3) = carr(a\4) & carr((a And 3) * 16 + b\16) & carr((b And 15) * 4 + c\64) & carr(c And 63) 
    Next 

    i = UBound(rarr) 
    If n Mod 3 = 0 Then 
     rarr(i) = Left(rarr(i),2) & "==" 
    ElseIf n Mod 3 = 1 Then 
     rarr(i) = Left(rarr(i),3) & "=" 
    End If 

    fBase64Encode = Join(rarr,"") 

End Function 
'------------------------------------------------------------------------------- 

function fBase64Decode(str) 

    fBase64Decode = "" 

    table = fGenerateBase64Table 

    bits = 0 

    for x = 1 to len(str) step 1 
     c = table(1+asc(mid(str,x,1))) 
     if (c <> -1) then 
      if (bits = 0) then 
       outword = c*4 
       bits = 6 
      elseif (bits = 2) then 
       outword = c+outword 
       strBase64 = strBase64 & chr(clng("&H" & hex(outword mod 256))) 
       bits = 0 
      elseif (bits = 4) then 
       outword = outword + int(c/4) 
       strBase64 = strBase64 & chr(clng("&H" & hex(outword mod 256))) 
       outword = c*64 
       bits = 2 
      else 
       outword = outword + int(c/16) 
       strBase64 = strBase64 & chr(clng("&H" & hex(outword mod 256))) 
       outword = c*16 
       bits = 4 
      end if 
     end if 
    next 

    fBase64Decode = strBase64 

end function 
'--------------------------------------------------- 

function fGenerateBase64Table() 

    r64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/" 

    'set up decode table 
    dim table(256) 
    for x = 1 to 256 step 1 
     table(x) = -1 
    next 
    for x = 1 to 64 step 1 
     table(1+asc(mid(r64,x,1))) = x - 1 
    next 

    fGenerateBase64Table = table 

end function 
'--------------------------------------------------- 

function fSelectFile() 

    fSelectFile = "" 
    strMSHTA = "mshta.exe ""about:<input type=file id=FILE>" & _ 
       "<"&"script>FILE.click();new ActiveXObject('Scripting.FileSystemObject')" & _ 
       ".GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);<"&"/script>""" 

    Set wshShell = CreateObject("WScript.Shell") 
    Set objExec = wshShell.Exec(strMSHTA) 
    fSelectFile = objExec.StdOut.ReadLine() 
    Set objExec = Nothing 
    Set wshShell = Nothing 

end function 

'------------------------------------------------------------------------- 

sub getBase64() 

    'this can be BMP, PNG, ICO 
    REM sImgFile = "favicon.ico" 
    sImgFile = fSelectFile() 

    if sImgFile = "" then exit sub 

    Set fso = CreateObject("Scripting.FileSystemObject") 
    Set f = fso.GetFile(sImgFile) 
    filesize = f.size 
    set f = fso.opentextfile(sImgFile,1,0) 'open as ascii 
    strBinFile = f.read(filesize) 
    f.close 
    set fso = nothing 

    strPNGFile = fBase64Encode(strBinFile) 
    s = s & "Base64 encoding of "&sImgFile&"<br><br>" & strPNGFile & "<br><br>" 
    s = s & "<img src=""data:image/bmp;base64," & strPNGFile & """><br><br>" & vbcrlf 

    imgbase64.innerhtml = s 

end sub 
'------------------------------------------------------------------------- 

sub setup() 

    'https://stackoverflow.com/favicon.ico in base64 
    base64Icon="AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv8AAAAAAAAAAAAAAAAAAAAAAAAAAKmjnv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpo57/AAAAAAAAAAAAAAAAAAAAAAAAAACpo57/AAAAAAlw8v8JcPL/CXDy/wlw8v8JcPL/CXDy/wlw8v8AAAAAqaOe/wAAAAAAAAAAAAAAAAAAAAAAAAAAqaOe/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlw8hMJcPI2AAAAAKmjnv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXDyLwlw8l0JcPKJCXDytglw8uIJcPLvCXDyvQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlw8sIJcPKlCXDydwlw8kkJcPIdCXDyEwlw8nEJcPIvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcPI9CXDypQlw8u8JcPKgCXDyLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXDyDwlw8nEJcPLWCXDy0wlw8msJcPIPCXDyPQlw8uIJcPInAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlw8iMJcPKgCXDyOgAAAAAAAAAACXDydwlw8ugJcPJGCXDyUQlw8oIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcPITCXDytglw8sIJcPIdCXDyGAlw8ugJcPI2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcPI6CXDy4glw8okJcPIDAAAAAAlw8rYJcPJ+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXDyZAlw8kkAAAAAAAAAAAlw8msJcPLICXDyAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlw8icJcPLoCXDyIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcPLCCXDyZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXDyHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AADABwAA3/cAANAXAADflwAA8B8AAPAPAAD+DwAA8AcAAPGDAAD+AwAA/CcAAPzHAAD/jwAA/58AAP+/AAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wCpo54AqaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po54A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AKmjngCpo57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjngD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AqaOeAKmjnv+po57/JID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0AKmjnv+po57/JID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wCpo54AqaOe/6mjnv8kgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAqaOe/6mjnv8kgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AKmjngCpo57/qaOe/ySA9AAkgPQAJID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0ACSA9ACpo57/qaOe/ySA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8AqaOeAKmjnv+po57/JID0ACSA9AAkgPT/JID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0/ySA9P8kgPQAJID0AKmjnv+po57/JID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wCpo54AqaOe/6mjnv8kgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAqaOe/6mjnv8kgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AKmjngCpo57/qaOe/ySA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9B4kgPRRJID0gSSA9LQkgPTjJID0EiSA9ACpo57/qaOe/ySA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8AqaOeAKmjngCpo54AJID0ACSA9AAkgPQAJID0AiSA9CYkgPRXJID0iSSA9LokgPTtJID0/ySA9P8kgPT/JID0/ySA9P8kgPRKJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9LgkgPTxJID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0+SSA9M0kgPSaJID0aiSA9CQkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0vSSA9P8kgPT/JID09CSA9MUkgPSUJID0YiSA9DEkgPQFJID0ACSA9DQkgPSjJID05iSA9A0kgPQAJID0ACSA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPRKJID0WySA9CkkgPQDJID0ACSA9AAkgPQAJID0BSSA9FgkgPTHJID0/ySA9P8kgPT/JID0eCSA9AAkgPQAJID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0FSSA9HwkgPTkJID0/ySA9P8kgPT/JID02SSA9GwkgPQ9JID0LCSA9AAkgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0MiSA9J8kgPT4JID0/ySA9P8kgPT+JID0tySA9EkkgPQCJID0YiSA9PckgPTjJID0HCSA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPQAJID0KiSA9MIkgPT/JID0/ySA9P8kgPTyJID0lCSA9CYkgPQAJID0CCSA9J8kgPT/JID0/ySA9OkkgPRGJID0IySA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9AAkgPQPJID07iSA9P8kgPTcJID0cCSA9A8kgPQAJID0ACSA9CQkgPTPJID0/ySA9P8kgPTDJID0HCSA9K4kgPTzJID0ZiSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0ACSA9AAkgPRaJID0TCSA9AIkgPQAJID0ACSA9AAkgPRQJID07ySA9P8kgPT+JID0jiSA9AUkgPR+JID0/ySA9P8kgPSOJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQEJID0iCSA9P4kgPT/JID08SSA9FQkgPQAJID0TSSA9P4kgPT/JID0uySA9AMkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0GCSA9MAkgPT/JID0/ySA9NMkgPQmJID0ACSA9CgkgPTwJID0/ySA9N4kgPQUJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9B8kgPTnJID0/ySA9P8kgPSiJID0CiSA9AAkgPQPJID02CSA9P8kgPT1JID0LiSA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9JYkgPT4JID0ZySA9AAkgPQAJID0AiSA9LQkgPT/JID0/iSA9FYkgPQAJID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0AySA9CokgPQAJID0ACSA9AAkgPSCJID0/ySA9P8kgPSIJID0ACSA9AAkgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0UySA9P4kgPT/JID0tySA9AMkgPQAJID0ACSA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9A8kgPTvJID0/ySA9NskgPQQJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9DQkgPTIJID0LCSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////wAAD/8AAA//P//P/z//z/8wAM//MADP/z//z/8/4E//+AB///AAf//wBD//8OA///+AH//+AA//+AQH//gYA//8cAP//8CD//+BB///Ag///4wf//+cP///+D////B////4///////////////////////"  

    Set fso = CreateObject("Scripting.FileSystemObject") 
    if not fso.fileexists("favicon.ico") then 
     strBin = fBase64Decode(base64Icon) 
     set outfile = fso.createtextfile("favicon.ico") 
     outfile.write strBin 
     outfile.close 

     document.title = "Need to refresh to see the new icon" 

    end if  
    set fso = nothing 

end sub 

</script> 

<style type="text/css"> 

    body {font-family:"CONSOLAS";font-size:"10pt";} 
    input {font-family:"CONSOLAS";font-size:"8pt";} 

</style> 

<body onLoad=setup()> 

<input type=button value="Encode an image file..." 
data-tooltip title="Choose a PNG, BMP, ICO file to encode in base64" 
onclick=getBase64> 

<br><br> 

<div id=imgbase64 style="word-wrap: break-word;"></div> 

</body> 
</html> 

相关问题