Вопрос

Я пытаюсь использовать Autoit с Ruby. В Autoit есть некоторые функции, определенные пользователем, которые мне нужны для моей автоматизации графического интерфейса, например, доступ к вкладкам в окне и т. Д. Проблема в том, что, в отличие от обычных API Autoit, я не могу получить доступ к UDF Autoit из рукоятки объекта Ruby Win32ole для Autoit Dll Анкет Есть ли способ получить доступ к этим UDF в моем коде Ruby? На самом деле это некоторые функции, определенные в сценариях Autoit, и я думаю, что то, что я хочу, невозможно. Я хочу какое -то мнение от кого -то, кто, возможно, попробовал это раньше и пришел к некоторому выводу.

Спасибо и с уважением, Анджали

Это было полезно?

Решение

Это не может быть сделано, согласно Форум Autoit. Анкет Я думаю, вам придется переписать UDF в Ruby.

Другие советы

Переписывание UDF в Ruby - это простое решение. Однако это не решение во всех случаях из -за объема задействованной работы. Не существует прямого способа вызывать функции аутоита из Ruby, потому что нет способа, которым вы не можете компилировать автоматическую работу с DLL или COM или аналогичным.

То, что вы можете сделать, это переписать свои Autoit UDF, чтобы обеспечить межпроцессное общение. Вы можете сделать это с помощью параметров командной строки:

If $CmdLine[0] > 1 Then
    Switch $CmdLine[1]
        Case "/1"
            Method1()
        Case "/2"
            Method2()
    EndSwitch
EndIf

Func Method1()
    ConsoleWrite("This is the 1st Method" & @CRLF)
EndFunc

Func Method2()
    ConsoleWrite("This is the 2nd Method" & @CRLF)
EndFunc

Вы составляете приведенный выше скрипт как CUI (проверьте опцию в компиляторе Autoit), а затем запускаете его от Ruby. Затем вы можете взять выход через стандартные потоки. В качестве альтернативы, вы можете написать вывод вашего скрипта в файл на диске, затем использовать Ruby, чтобы прочитать содержимое файла.

Другие варианты для более традиционной межпроцессной связи включают:

Возможности бесконечны. :) Этот пост должен заставить вас начать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top