Что нового

Компиляторы-интерпретаторы для AutoIt

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Плиз подскажите мне где достать компилятор для AutoIt...
Так чтоб можно было в скрипт вставить рисунки, значки, звуки
Или как пользоваться "AutoIt3Wrapper Gui" (Ведь он есть компилятор? :-[)
Жду ваших ответов!
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Re: Компиляторы-интерпраторы для AutoIt

Seen сказал(а):
Так чтоб можно было в скрипт вставить рисунки, значки, звуки...

Для этого тебе понадобится следующее:


Ниже приведен пример как все это хозяйство использовать. Все вышеперечисленные утилиты, иконки, звуки и картинки находятся в архиве. Чтобы это работало, сначала нужно скомпилировать файл (Test.au3). Для этого просто запусти compile.cmd. Кстати, в архив я положил исправленный файл Resources.au3, а то Zedna никак не может (не хочет) исправить свою библиотеку. Хотя я ему неоднократно говорил об этом.

Код:
#Region AutoIt3Wrapper
#AutoIt3Wrapper_Icon=MyIcon.ico
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Description=Resources Test Script
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Run_Au3check=n
#AutoIt3Wrapper_Run_After=ResHacker.exe -add %out%, %out%, MyPicture.jpg,  RCData, 400, 0
#AutoIt3Wrapper_Run_After=ResHacker.exe -add %out%, %out%, MySound.wav, SOUND, 200, 0
#EndRegion AutoIt3Wrapper

#Include <Resources.au3>

$hForm = GUICreate('MyGUI', 512, 384)
GUICtrlCreatePic('', 0, 0, 512, 384)
_ResSetImageToCtrl(-1, '#400')
GUISetState()

_ResPlaySound('#200')

Do
Until GUIGetMsg() = -3


Test.zip

PS

Справку (на английском) по директивам AutoIt3Wrapper ты можешь почитать здесь.

;)
 

forfrends

Новичок
Сообщения
176
Репутация
3
Re: Компиляторы-интерпраторы для AutoIt

А можно в код вшить, например, текстовый файл, который потом будет редактировать сама программа? Тоесть дописывать в него что-то, редактировать, и т.д.?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Re: Компиляторы-интерпраторы для AutoIt

Нет.
 

forfrends

Новичок
Сообщения
176
Репутация
3
Re: Компиляторы-интерпраторы для AutoIt

Значит только неизменяемые данные? Хоть так
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Re: Компиляторы-интерпраторы для AutoIt

forfrends
На эту тему: http://autoit-script.ru/index.php/topic,480.0.html
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Компиляторы-интерпраторы для AutoIt

А можно ли "вшить" исполняемый файл? Например, Rar.exe.
Спасибо.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Yashied
Про FileInstall() я знаю и использую сейчас. То есть без него нельзя?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
madmasles сказал(а):
Про FileInstall() я знаю и использую сейчас. То есть без него нельзя?

Можно, написанным выше способом, но зачем?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Yashied
В принципе, для Rar.exe FileInstall(), наверное, удобнее. Удалить его в конце никто не мешает. :smile:
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
FileInstall() для всего удобнее, что нужно вытаскивать на диск, а не читать из ресурсов напрямую.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Yashied
Полностью согласен.
Спасибо. :IL_AutoIt_1:
 
V

VitAl2013

Гость
Yashied
Библиотека конфликтует с WinAPIEx.au3 по глобальным переменным, нельзяли разрулить их в разные стороны? Или как это правильно сделать? (подавить, переименовать...)
Можно вкладывать файлы без ResHacker'а
Код:
#AutoIt3Wrapper_Res_File_Add=[полный путь до файла],[тип данных],[имя для него, типа хэндл]

Где [тип данных] может быть:
Код:
"RT_CURSOR", "RT_BITMAP", "RT_ICON", "RT_MENU", "RT_DIALOG", "RT_STRING", "RT_FONTDIR", "RT_FONT", "RT_ACCELERATOR", "RT_RCDATA", "RT_MESSAGETABLE", "RT_GROUPCURSOR", "", "RT_GROUPICON", "", "RT_VERSION", "RT_DLGINCLUDE", "", "RT_PLUGPLAY",  "RT_VXD", "RT_ANICURSOR", "RT_ANIICON", "RT_HTML", "RT_MANIFEST"


Пока это в теории, пытаюсь получить практику. Работает, только надо взять последний AutoIt3Wrapper
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Удали или закомментируй в Resources.au3 все $RT_... константы.
 

AZJIO

Меценат
Меценат
Сообщения
2,878
Репутация
1,194
Yashied
Вот немного удобнее директива для AutoIt3Wrapper, дабы не копировать каждый раз этот ResHacker.

вариант стационарного запуска
Код:
#Region AutoIt3Wrapper
#AutoIt3Wrapper_Icon=MyIcon.ico
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Description=Resources Test Script
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Run_Au3check=n
#AutoIt3Wrapper_Run_After=%autoitdir%\SciTE\ResHacker\ResHacker.exe -add %out%, %out%, %scriptdir%\MyPicture.jpg,  RCData, 400, 0
#AutoIt3Wrapper_Run_After=%autoitdir%\SciTE\ResHacker\ResHacker.exe -add %out%, %out%, %scriptdir%\MySound.wav, SOUND, 200, 0
#EndRegion AutoIt3Wrapper


вариант с копированием в папку скрипта:
Код:
#Region AutoIt3Wrapper
#AutoIt3Wrapper_Icon=MyIcon.ico
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Description=Resources Test Script
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Run_Au3check=n
#AutoIt3Wrapper_Run_After=copy %autoitdir%\SciTE\ResHacker\ResHacker.exe %scriptdir%
#AutoIt3Wrapper_Run_After=ResHacker.exe -add %out%, %out%, MyPicture.jpg,  RCData, 400, 0
#AutoIt3Wrapper_Run_After=ResHacker.exe -add %out%, %out%, MySound.wav, SOUND, 200, 0
#AutoIt3Wrapper_Run_After=del %scriptdir%\ResHacker.exe
#AutoIt3Wrapper_Run_After=del %scriptdir%\ResHacker.ini
#AutoIt3Wrapper_Run_After=del %scriptdir%\ResHacker.log
#EndRegion AutoIt3Wrapper


Всё это работает из контекстного меню.
 

forfrends

Новичок
Сообщения
176
Репутация
3
Я только что это все пересмотрел и ничего не понял.
Как именно вшивается что-нибудь (картинка, звук) в exe-шник во время компиляции,
но главное КАК потом идет обращение в самом скрипте к этим файлам??
 
V

VitAl2013

Гость
вшивается примерно так:
Код:
#AutoIt3Wrapper_Res_File_Add=[полный путь до ресурса], [тип этого ресурса- сам определяешь, но по смыслу], [имя этого ресурса - сам даёшь, любое]

КАК потом идет обращение в самом скрипте
вот примерно так если сохранить
Код:
_ResSaveToFile([полный путь куда], [имя ресурса - третье значение])

Компилируется через AutoIt3Wrapper или AutoIt3Wrapper_gui. Там всё просто, указываешь сначало на срипт с этим добром внутри, потом на компилятор. В ГУИ версии ещё даётся промежуточный шаг, где все текстовые настройки можно задать в интерфейсе, потом он их в скрипт заносит.


У меня есть уточняющий вопрос можно ли пользоваться переменными при _ResSaveToFile? ТОесть можно ли сформировать путь и имя переменной (но которая точно есть), а потом закинуть их в функцию?
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Я, правда, не очень понел. Но можно ли вшить DLL-лку в exe-шник и потом работать с ней ? ;)
 
Верх