• Accueil
  • Blog
  • Développement
  • Simuler la souris, le clavier ou contrôler les fenêtres des autres applications en Adobe Flex AIR

Simuler la souris, le clavier ou contrôler les fenêtres des autres applications en Adobe Flex AIR

botAujourd’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.

  1. Commencez par créer un nouveau projet AIR.
  2. Ajoutez dans « properties > Flex build path > Library path » le fichier Robot.swc
  3. Placez l’exe pbot.exe à la racine de votre projet.
  4. Créez un objet de type Robot
  5. Appelez les différentes fonctions de l’objet tel que setClick, setKey, …

Procédure d’installation de la démo :

  1. Téléchargez l’installation ci-dessus.
  2. Installez puis acceptez si le parfeu windows vous demande l’autorisation pour le fichier pbot.exe
  3. cliquez les différents boutons « Go » pour tester quelques unes des fonctions de la librairie Robot.swc .
  4. Vous pouvez lancer Firefox pour faire les tests de Handle application.

Voici le code de l’application :

&lt;!--?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?--&gt;</p>
<p>&lt;![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(&quot;Firefox&quot;); if(inName.text.length &gt; 0)<br />
robot.getHandleWindow(inName.text);<br />
}</p>
<p>protected function resultHandle(evt:RobotEvent):void<br />
{<br />
log.appendText( 'result handle window '+String( evt.window.handle )+&quot;\n&quot; );<br />
//get position<br />
robot.getPositionWindow( evt.window.handle );<br />
}</p>
<p>protected function resultPosition(evt:RobotEvent):void<br />
{<br />
log.appendText( 'result position window :'+String(evt.window.position)+&quot;\n&quot; );<br />
}</p>
<p>protected function first_clickHandler(event:MouseEvent):void<br />
{<br />
if(inName2.text.length &gt; 0)<br />
robot.firstPlan(inName2.text);<br />
}</p>
<p>/************** Mouse click **************/<br />
protected function autoClick_clickHandler(event:MouseEvent):void<br />
{<br />
robot.setClick( new Point(Number(inXmouse.text), Number(inYmouse.text)) );<br />
}</p>
<p>/************** Key control **************/<br />
protected function keypress_clickHandler(event:MouseEvent):void<br />
{<br />
focusManager.setFocus( inRes );<br />
robot.setKey( inKey.text );<br />
}</p>
<p>protected function string_clickHandler(event:MouseEvent):void<br />
{<br />
focusManager.setFocus( inRes2 );<br />
robot.setString( inStr.text );<br />
}</p>
<p>]]&gt;</p>
<p>

11 janvier 2013