Question

Je suis en train d'utiliser Autoit avec Ruby. Il y a des fonctions utilisateur dans Autoit que je besoin pour mon automatisation GUI comme l'accès à l'onglet de la fenêtre etc. Le problème est que, contrairement à des API autoit normales, je ne suis pas en mesure d'accéder aux UDFs du autoit de la poignée objet win32ole rubis pour AutoIt dll . Est-il possible d'accéder à ces UDFs dans mon code Ruby? Ce sont en fait des fonctions définies dans les scripts AutoIt et je pense que ce que je veux est pas possible. Je veux une certaine opinion de quelqu'un qui peut avoir essayé cela avant et est arrivé à une conclusion.

Merci et salutations, Anjali

Était-ce utile?

La solution

Il ne peut se faire, selon le forum autoIt . Je suppose que vous devrez réécrire de l'UDF en Ruby.

Autres conseils

Réécrire les UDFs en Ruby est une solution simple. Cependant, ce n'est pas une solution dans tous les cas en raison de la quantité de travail. Il n'y a aucun moyen direct pour appeler des fonctions AutoIt de Ruby, parce qu'il n'y a aucun moyen que vous pouvez compiler AutoIt à un dll ou COM ou similaire.

Qu'est-ce que vous pouvez faire est Ressaisissez votre AutoIt UDFs pour permettre la communication interprocessus. Vous pouvez le faire via les paramètres de ligne de commande:

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

Vous compilez le script ci-dessus comme CUI (cochez l'option dans le compilateur AutoIt) puis l'exécuter à partir de Ruby. Vous pouvez alors saisir la sortie via les flux standard. Vous pouvez également écrire la sortie de votre script dans un fichier sur le disque, puis utilisez Ruby pour lire le contenu du fichier.

Autres options pour communications non traditionnelles comprennent:

Les possibilités sont infinies. :) Ce message vous devriez commencer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top