Simuler la souris, le clavier ou contrôler les fenêtres des autres applications en Adobe Flex AIR
Aujourd’hui je vais vous présenter brièvement ma nouvelle librairie AIR qui permet entre autres de prendre le contrôle et de simuler un clavier, une souris sous Flex AIR.
Ces fonctions peuvent s’avérer très utiles lorsque vous créez des programmes pour automatiser certaines tâches du quotidien, en d’autres termes la création de « Bot ».
Cette class est à peu prêt l’équivalent de la class Robot en java.
- Commencez par créer un nouveau projet AIR.
- Ajoutez dans « properties > Flex build path > Library path » le fichier Robot.swc
- Placez l’exe pbot.exe à la racine de votre projet.
- Créez un objet de type Robot
- Appelez les différentes fonctions de l’objet tel que setClick, setKey, …
Procédure d’installation de la démo :
- Téléchargez l’installation ci-dessus.
- Installez puis acceptez si le parfeu windows vous demande l’autorisation pour le fichier pbot.exe
- cliquez les différents boutons « Go » pour tester quelques unes des fonctions de la librairie Robot.swc .
- Vous pouvez lancer Firefox pour faire les tests de Handle application.
Voici le code de l’application :
<!--?xml version="1.0" encoding="utf-8"?--> <![CDATA[ import com.ideva.fr.robot.Robot; import com.ideva.fr.robot.RobotEvent; import mx.events.FlexEvent; private var robot:Robot; protected function creationCompleteHandler(event:FlexEvent):void { robot = new Robot(); initEvent(); } protected function closeHandler(event:Event):void { robot.exit(); } protected function initEvent():void { robot.addEventListener( RobotEvent.CONNECT, robotConnect ); robot.addEventListener( RobotEvent.RESULTHANDLE, resultHandle); robot.addEventListener( RobotEvent.RESULTPOSWIN, resultPosition); } protected function robotConnect( evt:RobotEvent ):void { menuGe.visible = true; } /*********** Windows position ************/ protected function position_clickHandler(event:MouseEvent):void { //robot.firstPlan("Firefox"); if(inName.text.length > 0) robot.getHandleWindow(inName.text); } protected function resultHandle(evt:RobotEvent):void { log.appendText( 'result handle window '+String( evt.window.handle )+"\n" ); //get position robot.getPositionWindow( evt.window.handle ); } protected function resultPosition(evt:RobotEvent):void { log.appendText( 'result position window :'+String(evt.window.position)+"\n" ); } protected function first_clickHandler(event:MouseEvent):void { if(inName2.text.length > 0) robot.firstPlan(inName2.text); } /************** Mouse click **************/ protected function autoClick_clickHandler(event:MouseEvent):void { robot.setClick( new Point(Number(inXmouse.text), Number(inYmouse.text)) ); } /************** Key control **************/ protected function keypress_clickHandler(event:MouseEvent):void { focusManager.setFocus( inRes ); robot.setKey( inKey.text ); } protected function string_clickHandler(event:MouseEvent):void { focusManager.setFocus( inRes2 ); robot.setString( inStr.text ); } ]]>
imarkahann
Bonjour Adelin, très interessant ! Comment puis-je récupérer / acheter le Robot.swf ?
Merci à vous
Cordialement
Germain
Adelin GROSJEAN
Bonjour Germain,
cette librairie est gratuite je vous l’envoie par mail.
Bonne prog
Adelin
imarkahann
Bien reçu ! Merci encore !
Germain
j.milani
Bonjour Adelin,
Je suis intéressé par cette librairie.
Pouvez-vous me l’envoyer par mail ?
Merci d’avance
Cordialement
Julien
Adelin GROSJEAN
Bonjour Julien,
Je vous l’envoie.
dess
Bonjour Adelin,
Je suis aussi très intéressé par les fonctionnalités de cette librairie pour un projet domotique !
est ce que vous pourrez me l’envoyer ?
en tout cas bravo 🙂
Fred
Adelin GROSJEAN
voila c’est envoyé sur votre mail.
bonne utilisation 😉
à bientôt
Adelin
dess
merci !! trop la classe 🙂
pipoulito
Bonjour,
Je suis aussi très intéressé par cette librairie. Pourriez-vous aussi me l’envoyer par mail ?
Cela fonctionnerait-il aussi en AS2 ?
Merci d’avance
Cordialement