Просмотр темы форума
Тема: Вызов функций DLL
Здравствуйте.
Раньше я видел, вроде, в инсталляторе команду вызов DLL или запуск DLL, что-то похожее. Сейчас похожего нет что-то.
Тогда не подскажите как вызвать функцию из DLL библиотеки с получением результата если она его возвращает и ожиданием завершения работы вызванной функции из DLL.
Из какой DLL собираетесь вызывать?
Если стандартная Windows то добавляете команду Исходный код, отмечаете там Внешний исходный код и делайте импорт
Например,
import "shell32.dll" {
uint ShellExecuteA( uint, uint, uint, uint, uint, uint ) -> ShellExecute
}
После этого, можете в другой команде Исходный код вызывать
uint ret
ret = ShellExecute( 0, "open".ptr(), "notepad.exe".ptr(), 0, 0, $SW_SHOWNORMAL )
Если у вас своя DLL, то можно прилинковать ее к скрипту
import $"$prjpath$\my.dll"<link> {
uint myfunc( uint, uint )
}
Можно также я думаю подгружать функции динамически через LoadLibrary, но с ходу я не скажу точно.
>и ожиданием завершения работы вызванной функции из DLL.
Скрипт всегда будет ждать окончания выполнения функции.
Спасибо.
Главное понятно как можно вызвать, а дольше уже от самой DLL будет зависеть как заработает.
13.11.22 Выпущен инсталлятор CreateInstall 8.10.1.
21.05.22 Выпущен инсталлятор CreateInstall 8.10.0. подробнее
25.09.21 Выпущен инсталлятор CreateInstall 8.9.0.
15.07.21 Выпущен инсталлятор CreateInstall 8.8.1.
05.02.21 Выпущен инсталлятор CreateInstall 8.8.0.
11.04.20 Выпущен инсталлятор CreateInstall 8.7.0.