Simuler la souris, le clavier ou contrôler les fenêtres des autres applications en Adobe 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 :
[code lang= »as3″]<!–?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 );
}
]]>
[/code]