Могу ли я вставить значок в файл .hta?

Могу ли я рекомендовать библиотеку dom-to-image , которая была написана исключительно для решения этой проблемы (я являюсь сопровождающим). Вот как вы его используете (еще несколько здесь ):

var node = document.getElementById('my-node');

domtoimage.toPng(node)
    .then (function (dataUrl) {
        var img = new Image();
        img.src = dataUrl;
        document.appendChild(img);
    })
    .catch(function (error) {
        console.error('oops, something went wrong!', error);
    });

13
задан Robert Gamble 12 November 2008 в 02:44
поделиться

7 ответов

I've found an hack to set the icon.

Prepare an icon file icon.ico and an hta file source.hta with the following contents:

<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>

Open a command prompt and type:

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

That will concatenate the icon and hta into a single file.

In my test case Internet explorer skipped over the icon data and display the HTML correctly.

The path of the icon is then set to that of the .hta file itself using javascript and the icon is loaded.

I have tested this on Windows XP SP3, Internet explorer 8.

20
ответ дан 1 December 2019 в 06:24
поделиться

Вполне возможно... существует способ встроить изображения непосредственно в файл HTML, который может работать на этот http://www.sveinbjorn.org/news/2005-11-28-02-39-23

3
ответ дан Buzz 12 November 2008 в 02:44
поделиться
  • 1
    Корректный: return Story.objects.filter(user=request.user.id).order_by('-create_date').values('description') – Furbeenator 22 May 2012 в 15:26

Я не забываю видеть это looong время назад:

<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">

я никогда не пробовал его сам все же.

6
ответ дан Diodeus - James MacFarlane 12 November 2008 в 02:44
поделиться

IE не поддерживает данные URIs, таким образом, Вы оказываетесь перед необходимостью использовать внешний файл, если Вы используете тег img.

единственная вещь, о которой я могу думать, состоит в том, чтобы использовать VML, который был вокруг начиная с IE5. Это - подобный SVG формат векторного изображения, который может использоваться встроенный. Например, потяните что-то с помощью этот редактор VML и нажмите "Get code". Можно шлепнуться это в HTA. Я не знаю ни о чем, что преобразует Ваше изображение в VML непосредственно, но я полагаю, что существует способ экспортировать в VML от некоторых Продуктов Office.

1
ответ дан seisyll 12 November 2008 в 02:44
поделиться
  • 1
    спасибо все, это точно, в чем я нуждался – bharal 22 May 2012 в 16:02

Это - довольно неправдоподобный ответ, но Вы могли встроить значок, как base64-закодировано XML в HTA, затем используйте JavaScript onload и сохраните файл значка к временному местоположению. Объект ActiveX MSXML.DomDocument может закодировать и декодировать base64 узлы.

1
ответ дан Joel Anair 12 November 2008 в 02:44
поделиться
  • 1
    Это на самом деле передает обратно pk также – okm 22 May 2012 в 15:53

Как только вам понадобится < iframe > или другое диалоговое окно HTML, вам все равно понадобятся дополнительные файлы. Как правило, вы обнаружите, что файлы .CSS и .VBS, отделенные от .HTA, значительно упрощают программирование и поддержку любого нетривиального HTA.

Одна альтернатива для того, чтобы сделать это как «единый EXE», - обернуть все вверх как самораспаковывающийся архив или через IExpress. Когда пользователь «запускает вашу программу», он извлекает все из вашего архива во временный каталог и запускает элемент по вашему выбору.

Существуют также сторонние альтернативы, такие как HTMLApp .

1
ответ дан 1 December 2019 в 06:24
поделиться

Рассмотрите возможность использования одного из приложений в System32 для вашего значка.

Это не изменит значок для файла HTA, который находится на рабочем столе, но после его запуска он добавит немного индивидуальности на панель задач и тому подобное.

Я часто использую следующее, чтобы добавить немного очарования моим HTA.

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

Я не верю, что можно использовать значки из библиотеки, просто откройте System32 в проводнике и измените его можно просмотреть в виде значков и посмотреть, есть ли какие-нибудь значки, которые вам вообще понравятся.

9
ответ дан 1 December 2019 в 06:24
поделиться