Foire aux Questions (FAQ)

Cette section r�pond � quelques unes des questions les plus fr�quemment pos�es dans le forum. Si vous ne pouvez pas trouver la r�ponse que vous cherchez ici, alors le forum doit �tre votre premier point d'appel.

Questions

  1. Comment puis-je ex�cuter un programme DOS depuis AutoIt ?
  2. Pourquoi ne puis-je utiliser Run() que pour ex�cuter les fichiers .exe et .com? Qu'en est-il des .msi/.txt et autres ?
  3. Pourquoi est-ce que je re�ois des erreurs quand j'essaie d'utiliser les guillemets (") ?
  4. Que signifient les param�tres de fen�tre "title" et "text" ?
  5. Pourquoi ne puis-je afficher une variable en effectuant "Ma variable est $variable" ?
  6. Quand j'utilise Send() pour envoyer une variable, il arrive des choses bizarres ?
  7. Quelle est la diff�rence entre la valeur return et @error ?
  8. Comment sortir d'un script par un raccourci clavier ?
  9. Comment utiliser une ic�ne personnalis�e quand je compile mes scripts ?
  10. Comment puis-je �tre s�r qu'une seule copie de mon script est ex�cut�e ?
  11. Quelles sont les limites techniques actuelles d'AutoIt v3 ?
  12. Je vois un symbole d'image absente dans le fichier d'aide, dans les exemples.

1.Comment puis-je ex�cuter un programme DOS depuis AutoIt ?

Si vous voulez lancer quelque chose comme une commande DOS "Dir" alors vous devez le faire par l'interpr�teur de commandes (command.com ou cmd.exe selon votre OS). La macro@ComSpec contient l'emplacement exact de ce fichier. Vous devriez utiliser la fonctionRunWait() qui attend la fin du programme DOS avant de passer � la ligne de script suivante. Voici un exemple d'ex�cution de la commande DOS sur le disque C: (qui lan�e effectivement la commandeCommand.com /c Dir C:\)

RunWait(@ComSpec&" /c Dir C:\")


Haut de page


2.Pourquoi ne puis-je utiliser Run() que pour ex�cuter les fichiers .exe et .com ? Qu'en est-il des .msi/.txt et autres ?

Seulement quelques extensions de fichiers sont habituellement "ex�cutable" - ce sont les .exe, .bat, .com, .pif. Les autres types de fichiers comme .txt et .msi sont actuellement ex�cut�s avec un autre programme. Lorsque vous double-cliquez sur un fichier "MonFichier.msi", c'est la commande "Msiexec.exe MonFichier.msi" qui est ex�cut�e en arri�re-plan. Donc pour lancer un fichier .msi � partir d'AutoIt, vous devriez faire :

RunWait("msiexec MonFichier.msi")


Ou, lancer la commande "Start" qui saura automatiquement comment ex�cuter le fichier pour vous :

RunWait(@ComSpec&" /c Start MonFichier.msi")

Ou, utiliser la fonction ShellExecuteWait qui saura automatiquement comment ex�cuter le fichier pour vous:

ShellExecuteWait("MonFichier.msi")

Haut de page


3.Pourquoi est-ce que je re�ois des erreurs quand j'essaie d'utiliser les guillemets (") ?

Si vous voulez utiliser des guillemets � l'int�rieur d'une cha�ne, alors vous devez "les doubler". Donc pour chaque guillemet que vous voulez, vous devez en mettre deux. Par exemple, si vous vouliez d�clarer une variable avec la cha�ne:Un mot dans "cette" phrase est entre guillemets ! Vous devriez faire :

$var="Un mot dans ""cette"" phrase est entre guillemets !"

ou utilisez des apostrophes � la place :

$var='Un mot dans ""cette"" phrase est entre guillemets !'


Haut de page


4.Que signifient les param�tres de fen�tre "title" et "text" ?

Il y a une description d�taill�eici.


Haut de page


5.Pourquoi ne puis-je afficher une variable en faisant "Ma variable est $variable"

Si vous avez une variable nomm�e $msg et que vous voulez l'afficher dans une MsgBox alors cela ne marchera PAS :

#include<MsgBoxConstants.au3>

MsgBox($MB_OK,"Exemple","Ma variable est $msg")

En l'�tat, cela afficheraMa variable est $msg. Pour y arriver, dire � AutoIt de joindre la cha�ne et la variable ensemble en utilisant l'op�rateur& operator:

#include<MsgBoxConstants.au3>

MsgBox($MB_OK,"Exemple","Ma variable est "&$msg)


Mode avanc�: Si vous avez beaucoup de variables � ins�rer dans une cha�ne, alors vous trouverez utile la fonctionStringFormat(). Par exemple, si je voulais ins�rer $var1 � $var5 dans une cha�ne, il serait plus facile de faire:

#include<MsgBoxConstants.au3>

$msg=StringFormat("Var1 est %s, Var2 est %s, Var3 est %s, Var4 est %s",$var1,$var2,$var3,$var4)
MsgBox($MB_OK,"Exemple",$msg)


Haut de page


6.Quand j'utilise Send() pour envoyer une variable, il arrive des choses bizarres ?

Si vous utilisezSend pour envoyer le contenu d'une variable, attention si il contient des caract�res sp�ciaux comme ! ^ + {SPACE} car il seront consid�r�s comme des raccourcis-clavier sp�ciaux - Rarement ce que l'on attend. Pour contourner le probl�me, utilisez le mode RAW deSend() qui ne traduit pas les touches sp�ciales :

Send($mavariable,1)


Haut de page


7.Quelle est la diff�rence entre la valeur return�e et @error ?

G�n�ralement une valeur de retour est utilis�e pour signaler la r�ussite d'une fonction.  Mais, si une fonction est d�j� en train de retourner quelque chose (CommeWinGetText() ) alors nous aurons besoin d'une autre solution pour savoir si la fonction a r�ussi sa mission, en attribuant une valeur � @error.


Haut de page


8.Comment sortir d'un script par un raccourci clavier ?

Ah, c'est tr�s facile.  Si vous d�sirez faire stopper un script quand vous pressez une certaine combinaison de touches, alors utilisez la fonctionHotKeySet() pour lancer une fonction utilisateur quand la touche d�sir�e est press�e. Cette fonction utilisateur devra juste contenir la commande de sortieExit.

Voici un code qui interrompra le script quand vous presserez CTRL+ALT+x :

HotKeySet("^!x","Sortie")
...
...
; Le reste du script
...
...
FuncSortie()
   Exit
EndFunc  ;==>Sortie


Haut de page


9.Comment utiliser une ic�ne personnalis�e quand je compile mes scripts ?

Vous devez ouvrir le programme complet de compilation (au lieu de simplement faire un clic droit sur un script et de s�lectionner Compile).Cette page d�crit le compilateur en d�tail.


Haut de page


10.Comment puis-je �tre s�r qu'une seule copie de mon script est ex�cut�e ?

Utilisez la fonction_Singleton(). Voir la documentation des Fonctions (UDF) pour plus de d�tails sur _Singleton() et comment l'utiliser.


Haut de page


11.Quelles sont les limites techniques actuelles d'AutoIt v3 ?

SVP, consultez la sectionLimites et D�fauts pour les limites techniques de AutoIt3.

Information suppl�mentaire sur les limites th�oriques de AutoIt3.

Valeur Description
Pas de limite Nombre maximum de fen�tres GUI.
Pas de limite Nombre maximum de fonctions en cours d'utilisation.
Pas de limite Nombre maximum de variables en cours d'utilisation � un instant donn�.
1.7E308 � 1.7E+308 Pr�cision des nombres (� virgule flottante) de 15 chiffres.
0x8000000000000000 � 0x7FFFFFFFFFFFFFFF Pr�cision des nombres hexad�cimaux (entier sign� 32-bit/64-bit).

Haut de page


12.Je vois un symbole d'image absente dans le fichier d'aide, dans les exemples.

Ceci devrait �tre le bouton vous permettant d'ouvrir les exemples dans le fichier d'aide.
Ce probl�me est d� au fait que le fichier hhctrl.ocx n'est pas correctement enregistr� ou corrompu.
Essayez de l'enregistrer en faisant "regsvr32 hhctrl.ocx" � partir de l'invite de commande, ou v�rifiez sa validit�.


Haut de page