|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Внедрение иконок в скомпилированный скрипт (использование AutoIt3Wrapper) |
|
|
[решено] Внедрение иконок в скомпилированный скрипт (использование AutoIt3Wrapper)
|
Ветеран Сообщения: 903 |
Профиль | Отправить PM | Цитировать
Суть:
попробовал внедрить при компиляции иконки в будущий исполняемый файл. Все, что удалось добиться, - внедрить иконку windows.ico и музыку. Остальные иконки встроились, но не работают. Библиотеку вроде активировал, но не знаю, какие функции из нее использовать и как ими заставить работать все иконки. Код: Подскажите как их заставить работать, плиз PS Autoit 3.3.6.1 Полный архив с иконками, AutoIt3Wrapper, библиотекой, ResHacker и т.д. - в аттаче - см. пост: http://forum.oszone.net/post-1507813-4.html |
|
------- Отправлено: 00:37, 29-09-2010 |
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать #AutoIt3Wrapper_Run_After=ResHacker.exe -delete %out%, %out%, DIALOG, 1000,
#AutoIt3Wrapper_Run_After=ResHacker.exe -delete %out%, %out%, ICON, 162, #AutoIt3Wrapper_Run_After=ResHacker.exe -delete %out%, %out%, ICON, 164, #AutoIt3Wrapper_Run_After=ResHacker.exe -delete %out%, %out%, MENU, 166, #AutoIt3Wrapper_Run_After=ResHacker.exe -delete %out%, %out%, ICON, 169, #AutoIt3Wrapper_Run_After=ResHacker.exe -add %out%, %out%, Settings.ico, Icon, 0, 0 #AutoIt3Wrapper_Run_After=ResHacker.exe -add %out%, %out%, RSS.ico, Icon, 1, 0 |
Отправлено: 18:32, 29-09-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 903
|
Профиль | Отправить PM | Цитировать FlatX007, не подскажите технологию, т.е. что значат параметры:
-delete %out%, %out%, DIALOG, 1000, -delete %out%, %out%, ICON, 169, или -add %out%, %out%, Settings.ico, Icon, 0, 0 |
------- Отправлено: 22:31, 29-09-2010 | #3 |
Ветеран Сообщения: 903
|
Профиль | Отправить PM | Цитировать Внес изменения в код, но не помогло. Вот, что получилось:
Прикрепил полный рабочий набор (см. аттач), включая библиотеку и все файлы |
------- Последний раз редактировалось saavaage, 02-10-2010 в 14:19. Отправлено: 00:04, 30-09-2010 | #4 |
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать Цитата saavaage:
-delete - команда для удаления ресурсов. Кусок справки ResHack`era Скачать ResHack (офф.сайт) Цитата saavaage:
Для окна GUI можно сделать так: |
|||
Отправлено: 10:40, 30-09-2010 | #5 |
Ветеран Сообщения: 903
|
Профиль | Отправить PM | Цитировать FlatX007, ладно, пошел спать (3 суток уже не кемарил). Как отосплюсь - проверю свой бред еще раз... Спасибо
|
------- Отправлено: 11:56, 30-09-2010 | #6 |
Ветеран Сообщения: 903
|
Профиль | Отправить PM | Цитировать FlatX007,
Единственное, что пришло в голову, это применить функцию _ResGetAsImage: получилось для массива: $Icon_Ok = _ResGetAsImage('#201', -1) $Icon_Er = _ResGetAsImage('#202',-1) Global $aIcons[2] = [$Icon_Er, $Icon_Ok ] ;~ Global $aIcons[2] = ['error.ico', 'Ok.ico' ] For $i = 0 To 1 $hIcon = _Icons_Icon_Extract($aIcons[$i], 0, $Width, $Height) $aIcons[$i] = _Icons_Bitmap_CreateFromIcon($hIcon) _WinAPI_DestroyIcon($hIcon) Next Код: AutoIt [Выделить] $Icon_Ref = _ResGetAsImage('#203',-1) $Button_HotFixesUpdate = _GUICtrlCreateButtonEx4("Обновить", 510, 400, 85, 33, $Icon_Ref, -5) Немного сократил код для лучшей ориентации. Новый сокращенный код скрипта: PS Просмотрел полученный скомпилированный файл при помощи ResHacker - ok.ico и error.ico просматриваются, refresh. ico при попытке просмотра выдает "отказано в доступе". Вопросы: 1. я правильно брал номера иконок из секции Icon Group?, 2. означает ли сообщение "отказано в доступе@? что иконка встроилась некорректно? |
------- Отправлено: 17:08, 30-09-2010 | #7 |
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать |
Отправлено: 19:15, 30-09-2010 | #8 |
Ветеран Сообщения: 903
|
Профиль | Отправить PM | Цитировать FlatX007, с вставкой в кнопки разобрался, спасибо. Есть ли возможность вставить n конкретных иконкок (в моем случае 4) из массива $hImageList[15] в массив $aIcons[2]?
в моем коде это: Global $aIcons[2] = ['error.ico', 'Ok.ico' ] For $i = 0 To 1 $hIcon = _Icons_Icon_Extract($aIcons[$i], 0, $Width, $Height) $aIcons[$i] = _Icons_Bitmap_CreateFromIcon($hIcon) _WinAPI_DestroyIcon($hIcon) Next Дело в том, что не нашел функции, аналогичной _GUICtrlButton_SetImageList, но только для Pics (мне необходимо разместить иконку в конкретном месте вкладки Tab), не делать же это через button... PS не серчай, я всегда стараюсь сначала сам решить проблему, но тут туплю и хоть убейся... |
------- Последний раз редактировалось saavaage, 01-10-2010 в 18:46. Отправлено: 18:33, 01-10-2010 | #9 |
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать |
Отправлено: 18:47, 01-10-2010 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
AutoIt3Wrapper: Company и OriginalFileName? | semiono | AutoIt | 6 | 10-08-2010 22:46 | |
[решено] Использование некоторых функций AutoIt3Wrapper Gui | FlatX007 | AutoIt | 8 | 08-07-2009 18:26 | |
[решено] возможно ли в скомпилированный файл вложить сторонние модули | Intexid | AutoIt | 3 | 20-05-2009 14:53 | |
Скомпилированный HTML-файл справки | alex6719 | Microsoft Windows 95/98/Me (архив) | 1 | 29-09-2004 11:34 | |
Нет иконок на раб. столе, размер иконок | Unixman | Microsoft Windows 2000/XP | 6 | 21-07-2003 10:14 |
|