Форум программистов, компьютерный форум, киберфорум
Assembler: Windows/protected mode
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 29.05.2019
Сообщений: 7
1
MASM

Подскажите, как вызвать в основном файле функцию из .dll, используя функции WinAPI

02.11.2019, 18:55. Показов 2091. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем.
Подскажите, пожалуйста, как вызвать функцию, определение которой находится в подключаемой .dll библиотеке с помощью функций WinAPI. Вроде бы смотришь как это делают на C++ - всё ясно, а уже с MASMом возникают проблема.
Пытаюсь вызвать функцию showText (с одним параметром), которая определена в libs
Делаю так:

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
hLib dd ?
libName db "libs.dll", 0        ;название библиотеки
showTextNAME db "showText",0    ;название функции для печати текста
.....
invoke LoadLibrary, addr libName
mov hLib, eax
.....
LOCAL Ps:PAINTSTRUCT
invoke BeginPaint, hWnd, ADDR Ps ;контекст
invoke GetProcAddress, hLib, showTextNAME
mov showText, eax
push Ps.hdc
call showText
Но вылезает segmentation fault и приложение закрывается. В чём проблема?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2019, 18:55
Ответы с готовыми решениями:

Как вызвать асинхронную функцию в основном потоке и дождаться результата ?
Ситуация такая : запускаю фоновый поток из основного (интерфейсного) для проверки обновления ...

Возникла необходимость в основном коде вызвать функцию и чтобы код продолжал выполнение, НЕ ДОЖИДАЯСЬ окончания работы этой функции
Не могу сообразить, буду благодарен за простой пример!

Как вызвать в основном .cpp файле тот или иной .cpp файл
Ну, обычно я работал с одним .cpp но вот появилась надобность в основном файле написать интерфейс...

определение функции в ЗАГОЛОВОЧНОМ файле. В основном предполагается переопределение ТЕЛА этой функции. Как это сделать, не правя хидер?
Сабж, а подробнее если в заголовочном файле hider.h описана функция, допустим так: void f ();...

3
Ушел с форума
Автор FAQ
16338 / 7659 / 1075
Регистрация: 11.11.2010
Сообщений: 13,696
02.11.2019, 19:36 2
Лучший ответ Сообщение было отмечено Evster как решение

Решение

Evster,
скорее всего ошибка здесь
invoke GetProcAddress, hLib, addr showTextNAME
1
0 / 0 / 0
Регистрация: 29.05.2019
Сообщений: 7
02.11.2019, 19:53  [ТС] 3
Mikl___,
Спасибо, прямо выручаешь
0
Ушел с форума
Автор FAQ
16338 / 7659 / 1075
Регистрация: 11.11.2010
Сообщений: 13,696
02.11.2019, 20:01 4
Evster,
Миниатюры
Подскажите, как вызвать в основном файле функцию из .dll, используя функции WinAPI  
1
02.11.2019, 20:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2019, 20:01
Помогаю со студенческими работами здесь

Как вызвать функции WinAPI?
подскажите как вызвать функции WinAPI. Допустим вот мой код куда че вписать. .486 .model flat,...

Как правильно вызвать функцию из dll на С++?
Добрый вечер. Подскажите, пожалуйста, как описать функции в дельфи-проекте если имеется dll...

Как вызвать функцию из dll, написанной на C++?
Здравствуйте, как вызвать данную функцию правильно: extern int __stdcall CheckRequestA(char *...

Как вызвать функцию из подключенной dll
Здравствуйте, подскажите пожалуйста как вызвать функцию result, если этот код будет помещен в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru