eil сказал(а):
...autoit при компиляции вставляет несколько своих ресурсов которые потом не нужны и только занимают место.
Я собирался об этом написать в разделе "Ресурсы AutoIt", но пока все никак руки не доходят. Если в кратце, то AutoIt добавляет следующие ресурсы:
Menu\166
Это умолчальное меню в трее ("Script Paused" и "Exit"). Если вы его не используете (TrayMenuMode = 1) или не выводите иконку в трее (#NoTrayIcon), то можете смело удалять этот ресурс.
Dialog\1000
Используется только в функции InputBox() для формирования диалогового окна. Если вы не используете эту функцию, то можете избавиться от этого ресурса.
String\*
Нужны для разнообразных сообщений при возникновении ошибок. Не советую трогать этот ресурс, т.к. можете получить неработоспособную программу.
Icon\99 (AutoIt 3.3.6.1)
Это основная иконка программы которая будет отображаться в панели задач и во всех создаваемых окнах (по умолчанию). Если вы не создаете никаких окон, то можете удалить ее из ресурсов или поменять на свою собственную иконку. Директива
#AutoIt3Wrapper_Icon именно это и делает. Однако, если эта иконка все же используется, то во избежании всяких непоняток необходимо сохранить за ней индекс 99.
Icon\162,
Icon\164
Используются в умолчальном меню в трее. Опять же, если это меню не выводится, то можно от них избавиться.
Icon\169
Отображается в ListView созданном функцией GUICtrlCreateListView() при перетаскивании элементов мышкой. Если это не нужно, а скорее всего так оно и есть, то можете удалить эту иконку из ресурсов. Для полного счастья можно еще добавить в код следующее:
...
GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')
...
Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
Local $tNMITEMACTIVATE = DllStructCreate($tagNMITEMACTIVATE, $lParam)
Local $hLV = DllStructGetData($tNMITEMACTIVATE, 'hWndFrom')
Local $ID = DllStructGetData($tNMITEMACTIVATE, 'Code')
Switch $hFrom
Case $hListView
Switch $ID
Case $LVN_BEGINDRAG
Return 0
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
Version\1
Информация о программе. Если это не нужно, можете удалить.
Manifest\1
Файл манифеста. Если вам не нужны стили Windows и другие установки в манифесте, то можете удалить его.
eil сказал(а):
Как добавить файл(exe, ini) по тому же формату что с помощью ResHack(c добавлением своих категорий, а не в RCDATA) и как потом к ним обращаться для распаковки?(ясно что с @FullScriptPath, но имя то и категорию как указывать?).
См.
"RCDATA и User-defined". Я там очень подробно написал про это. Прочитайте несколько раз.