1

Тема: Как правильно использовать AutoHotkey.dll в других языках

Всем здравствуйте. Скачал я эту dll отсюда. добавил в директорию windows, пытаюсь вызвать через dllcall функцию MsgBox но ничего не происходит! В языке который я юзаю это делается так:

DllCall ( "сама длл", "возвращаемое значение", "Функция" , "тип", "параметр",....,"тип", "параметр" )

пытаюсь вызвать следующим образом:

DllCall("AutoHotkey.dll", "int", "MsgBox","int","0","str", "Some text","str", "Some text","int","10")

а также просто:

DllCall("AutoHotkey.dll", "int", "MsgBox","str", "Some text")

но ничего не выходит, что не так?

2

Re: Как правильно использовать AutoHotkey.dll в других языках

Код обрамлён тэгом «code».

3

Re: Как правильно использовать AutoHotkey.dll в других языках

Bloodrinker пишет:

В языке который я юзаю

А что за язык, если не секрет? Не AutoHotkey, случайно?

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

4

Re: Как правильно использовать AutoHotkey.dll в других языках

нет) другой.

5

Re: Как правильно использовать AutoHotkey.dll в других языках

Bloodrinker, думаю, как минимум, не помешало бы озвучить сей язык, а также привести ссылку на страницу с документацией по функции «DllCall()» (или, если нет on-line документации — процитировать справку здесь).

6

Re: Как правильно использовать AutoHotkey.dll в других языках

ну ладно, будем действовать проще, возьмем например AutoIt. Будет проще и Вам и мне думаю. Его все здешние более-менее знают.

7

Re: Как правильно использовать AutoHotkey.dll в других языках

А функция MsgBox() точно содержится в этой библиотеке? Я её в списке функций по ссылке не обнаружил.

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

8

Re: Как правильно использовать AutoHotkey.dll в других языках

а какие тогда есть? нафига тогда эта AutoHotkey.dll  нужна вообще?

9

Re: Как правильно использовать AutoHotkey.dll в других языках

Тема посвящена вызову несуществующей функции AutoHotkey.dll из несуществующего языка?

Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

10

Re: Как правильно использовать AutoHotkey.dll в других языках

так я же написал: AutoIt !!!

а какие функции есть в AutoHotkey.dll?

11

Re: Как правильно использовать AutoHotkey.dll в других языках

А самому по ссылкам сходить религия не позволяет? Там всё, вроде, довольно доходчиво описано. Кстати, интересная штука!

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

12

Re: Как правильно использовать AutoHotkey.dll в других языках

я уже 2 дня читаю и ничего не понимаю, что? можно только эти 2 десятка функций вызывать чтоли?

13

Re: Как правильно использовать AutoHotkey.dll в других языках

Я читал полчаса и понял следующее. AutoHotkey.dll служит для выполнения кода на AHK в любых приложениях, способных загружать dll-библиотеки или использовать COM. Это позволяет использовать функционал языка AutoHotkey_L в других языках программирования, а также создавать мультипоточность. Код на AHK может содержаться в отдельном файле и запускаться с помощью функции ahkdll, или загружаться динамически посредством функции ahktextdll. Остальные функции служат для работы с загруженным кодом.

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

14

Re: Как правильно использовать AutoHotkey.dll в других языках

вот теперь все ясно) я чтото полумал что функции ahkdll и прочие работают не для выполнения кода, а для вызова функций)

15

Re: Как правильно использовать AutoHotkey.dll в других языках

teadrinker, я правильно понял, что WSH с CreateObject() вполне себе работает:

Option Explicit

Dim objCOMServer

Set objCOMServer = WScript.CreateObject("AutoHotkey.Script.1")

With objCOMServer
    .ahktextdll("MsgBox MsgBox from AutoHotkey.dll")
    
    Do Until .ahkReady()
        WScript.Sleep 100
    Loop

    Do While .ahkReady()
        WScript.Sleep 100
    Loop
    
    WScript.Echo "That's all!"
End With

Set objCOMServer = Nothing

WScript.Quit 0
---------------------------
AutoHotkey.dll
---------------------------
MsgBox from AutoHotkey.dll
---------------------------
ОК   
---------------------------

16

Re: Как правильно использовать AutoHotkey.dll в других языках

Должно работать! У меня, правда, пишет "Сценарий не указан"!

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

17

Re: Как правильно использовать AutoHotkey.dll в других языках

regsvr32.exe "«путь к AutoHotkey.dll»"

делали? Ну, и остальные файлы из архива должны лежать рядом.

18

Re: Как правильно использовать AutoHotkey.dll в других языках

Да, всё так, но не работает.

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