1

Тема: AHK: Как "забрать" из своей DLL нужный ресурс

И так, у меня есть библиотека, т.е. dll в которой я храню

  • PNG-файлы

  • Тексты

  • ICO-файлы

  • И т.д.

Прочитав справку, поискав на форуме - я ничего не понял.

Подскажите если не сложно.

Dll с ресусами - IconsAHK.dll

http://i66.fastpic.ru/big/2015/0204/67/90fdea1a52f7899eb6d34262d8480267.png

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

2

Re: AHK: Как "забрать" из своей DLL нужный ресурс

Вот вариант для иконок, для ресурсов вообще смотрите тему в MSDN.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: Indomito, 2015-02-05 00:27:41)

Re: AHK: Как "забрать" из своей DLL нужный ресурс

Как я понимаю надо извлекать, да?
То есть отобразить сразу нельзя?

Фрагмент кода

  Gui, New , -maximizebox -minimizebox +AlwaysOnTop -Caption, %vTitleWin%
  Gui , Color, 50C841
  Gui, Font, c000000 s12 bold, Verdana
  Gui, Add, Picture, Icon%vSoundOutPut%, %AHKData%\RES\IconsAHK.dll ; ---------->  Как я делаю тут
  Gui, Add, Text, x%vTxtX% y%vTxtY% , %isDevSet%
  Gui, Show, Center NoActivate w%vSizeWinW% h%vSizeWinH% 

P.S. Может переделать dll в другой тип ресурса? Например rec, dcr или  rc ?

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

4

Re: AHK: Как "забрать" из своей DLL нужный ресурс

Indomito пишет:

Как "забрать" из своей DLL нужный ресурс

Наверное, я неправильно понял вопрос. Что значит "забрать"? Если отобразить в GUI, тогда извлекать не нужно (иконки, имею в виду).

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Как "забрать" из своей DLL нужный ресурс

Наверное, я неправильно понял вопрос.

не страшно

Иконки, да есть команда в GUI,  а как всё остальное - картинки, тексты и т.д.  ?

Просто, я таскаю за каждым скриптом кучу файлов

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

6

Re: AHK: Как "забрать" из своей DLL нужный ресурс

С картинками где-то видел пример на англ. старом форуме. За остальным — в MSDN, сам пока не интересовался, не было необходимости, но, по крайней мере, поиск ресурсов в dll в моём примере есть, остаётся их сохранить в файл.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7 (изменено: Indomito, 2015-02-05 08:59:05)

Re: AHK: Как "забрать" из своей DLL нужный ресурс

На С++ просто, указал - получил.

Мне то не надо сохранять, мне бы считать и вывести(положить в переменную, если это не картинка), а с MSDN - "чёрт ногу сломит".

Я думал на АНК есть нечто подобное или может кто то уже делал - значит буду, как всегда разбираться

Жаль что нет простого, готового пути/варианта.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

8

Re: AHK: Как "забрать" из своей DLL нужный ресурс

Indomito пишет:

На С++ просто, указал - получил.

Средствами самого С++? Не через WinAPI? Если всё-таки последнее, то DllCall никто не отменял вроде.

9

Re: AHK: Как "забрать" из своей DLL нужный ресурс

Конечно, через WinAPI, но без сохранения.

Придётся в свою DLL вставить функцию на выборку на С++ или придумать иной формат хранения данных - свой, правда нарисовать просто так не получится, надо сначала будет сохранять на диске.

Блин, придумал я себе головную боль

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

10

Re: AHK: Как "забрать" из своей DLL нужный ресурс

Всё-таки непонятно, почему эту функцию нельзя написать на АНК, используя DllCall. Хотя, если вы всё равно с собой DLL носите, то на С++, конечно, проще будет.

11 (изменено: Alectric, 2015-02-05 13:02:21)

Re: AHK: Как "забрать" из своей DLL нужный ресурс

Тут есть какая-то функция DLLRead().
Только от тегов color нужно почистить (у меня, почему-то они прописаны текстом вместо цвета).

Win 10 x64
AHK
                       Справка AHK v1 тебе в помощь.