utilisateur occasionnel d'AutoIt, je souhaité développer une petite application de lecture de QRCode.
je m'appuie pour cela sur l'outil Zbar (http://zbar.sourceforge.net/)
Zbar est utilisable en ligne de commande : en lui fournissant le chemin d'accès d'une image, il retourne la chaine de caractère lue dans le QRCode figurant sur l'image. Cela fonctionne très bien.
En revanche, je n'arrive pas à intégrer cet appel à Zbar dans AutoIt. J'ai déjà utilisé auparavant la fonction Run avec d'autres outils en ligne de commande, mais cette fois je suis bloqué.
Impossible de récupérer la valeur retournée par Zbar comme une variable dans AutoIT.
J'ai essayé de simplifier au maximum la fonction et les erreurs possibles en rassemblant mon script et zbar dans le même dossier.
Je souhaite via AutoIt:
Appeler Zbar avec en paramètre un chemin d'accès "en dur" vers une image contenant un QRCode
Récupérer le résulatt renvoyé par Zbar pour l'afficher dans une fenetre AutoIt
Voici donc le code sur lequel je bute :
Code : Tout sélectionner
$iPID = Run(@ComSpec & "zbarimg -d barcode.jpg", @ScriptDir, @SW_HIDE, 2)
ProcessWaitClose($iPID)
$sQRText = StdoutRead($iPID)
MsgBox(0,"ZBarImg Result", $sQRText)
Code : Tout sélectionner
>"D:\Logiciels\LiberKey\MyApps\autoit-v3\SciTe\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "D:\Logiciels\LiberKey\MyApps\autoit-v3\Examples\QR\zbar_simple.au3" /UserParams
+>17:33:42 Starting AutoIt3Wrapper v.2.1.4.4 SciTE v.3.3.6.0 ; Keyboard:0000040C OS:WIN_7/Service Pack 1 CPU:X64 OS:X86 Environment(Language:040C Keyboard:0000040C OS:WIN_7/Service Pack 1 CPU:X64 OS:X86)
>Running AU3Check (3.3.10.2) from:D:\Logiciels\LiberKey\MyApps\autoit-v3
+>17:33:43 AU3Check ended.rc:0
>Running:(3.3.10.2):D:\Logiciels\LiberKey\MyApps\autoit-v3\autoit3.exe "D:\Logiciels\LiberKey\MyApps\autoit-v3\Examples\QR\zbar_simple.au3"
--> Press Ctrl+Alt+F5 to Restart or Ctrl+Break to Stop
+>17:33:45 AutoIt3.exe ended.rc:0
+>17:33:45 AutoIt3Wrapper Finished..
>Exit code: 0 Time: 3.535Le problème est que je je ne récupère pas la variable renvoyée par la ligne de commande. Alors qu'n ligne de commande ça fonctionne très bien.
Merci d'avance pour votre aide.
Y




