Y a-t-il un système d'exploitation neutre pour RUBY pour envoyer des événements de clavier et de souris au système d'exploitation sous-jacent? p>
Une approche évidente (à moi) consiste à utiliser les liaisons Ruby / Java et utilisez Java.Awt.Robot, mais cela semble juste idiot. P>
3 Réponses :
alors vous pouvez le tester avec un script comme celui-ci: p> require "win32ole"
wsh = WIN32OLE.new("WScript.Shell")
wsh.Run("Notepad.exe")
while not wsh.AppActivate("Notepad")
sleep .1
end
wsh.SendKeys("Look Ma, keystrokes!")
Qu'en est-il de Linux (Ubuntu)?
@Andreybotalov je ne sais pas. Quelqu'un devrait poster une réponse pour cela. :-)
Pour l'exhaustivité, je pensais inclure une solution si vous utilisez Linux. P>
sur Linux, pour automatiser les frappes de frappe que vous pouvez utiliser xdotool. Il y a aussi un joyau pour Ruby, mais il n'est pas vraiment nécessaire d'envisager que l'envoi de frappe est facile comme: p>
Il y a aussi des événements de la souris aussi. P> % x (touche xdotool Super + w) #Ce appuyer sur les touches super et w simultaneoulsy code> p> p>
Malheureusement, Pour le Mac, vous pouvez utiliser: P> RB-AppleScript code> est un peu daté et bonky.
%x(osascript -e 'tell application "System Events" to keystroke "Look Ma, keystrokes!"')
Quel système d'exploitation? Chaque plate-forme a ses propres liaisons de rubis.
"Système d'exploitation neutre". Si aucune bibliothèque de ce type n'existe, alors Windoze et Mac.