Partage
  • Partager sur Facebook
  • Partager sur Twitter

[AutoIt] AutoIt ?

5 mars 2008 à 15:09:37

Salut à tous,

Alors voilà, j'ai entendu perler d'un langage révolutionnaire, l'AutoIt.
J'en ai parlé à des amis qui s'y connaissent (plus que moi en tous cas !) en programmation et ils m'ont dit que c'était un super langage.
J'ai donc fait des recherches sur internet et là j'ai entendu dire que c'était un dérivé du Basic qui agit directement sur Windows.
Qu'est ce qu'on entend par agir directement sur Windows ???

J'ai aussi fait d'autres recherches et je n'ai trouvé aucun tuto valable (petit coucou à Phisto ! :lol: ).
Alors, deuxième question :
Où puis-je trouver un bon tuto ?

Merci à tous de votre aide, et bonne journée !
PS: Je suis nouveau, je ne connais pas très bien le site, alors n'hésitez pas à me rediriger !
  • Partager sur Facebook
  • Partager sur Twitter
5 mars 2008 à 15:51:29

Selon ceci, c'est d'abord et avant tout un langage de script qui permet d'automatiser des tâches sous Windows (en clair, de créer des macros).

Je pense pas que tu puisses programmer avec ça... Quant à « agir directement sur le système », je pense qu'ils voulaient dire que tu peux appeller facilement les fonctions système avec ce langage.

Plus d'infos ici.

PS: j'ai trouvé ces deux liens en 30 secondes. Tu aurais pu chercher un peu les renseignements...
  • Partager sur Facebook
  • Partager sur Twitter
J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
5 mars 2008 à 16:08:48

Merci beaucoup !

PS: Pour ce qui est de la recherhe, j'ai cherché sur internet pendant deux heures sans trouver ces liens, alors pour ce qui est de chercher ces renseignements...
  • Partager sur Facebook
  • Partager sur Twitter
6 mars 2008 à 17:49:20

J'ai du mal à y croire. Mais bon, peut être que tu t'y prends mal quand tu cherches. Il suffit d'aller sur google et on trouve très facilement. Et même en français on trouve plein de choses :

http://www.autoitscript.com/
http://pon.fr/index.php/2006/08/08/62-autoit-langage-de-script
http://www.ouverture-et-innovation.org/post/2007/10/30/AutoIt-3-Langage-de-script-pour-administration-Windows

Tous ces liens sont sur la première page de google. Pas besoin de deux heures...
Et enfin, jettes toujours un oeil sur wikipédia quand tu cherches des informations. Ça peut donner des pistes :)
  • Partager sur Facebook
  • Partager sur Twitter
J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
6 mars 2008 à 21:06:39

Ok, mais internet n'est pas toujours fiable et certains sites se contredisent... D'autant plus que mon niveau d'anglais ne me permet pas de traduire le contenu de ces pages et que les outils linguistiques de Google ne sont pas particulièrement pratiques pour la traduction.

Mais j'ai beau chercher, je ne trouve pas de bons tutos (Eh oui je suis habitué au luxe avec les tutos du Site du Zéro :D ) en Français pour ce langage.
  • Partager sur Facebook
  • Partager sur Twitter
7 mars 2008 à 17:52:49

C'est sur qu'en français, tu vas avoir un peu de mal, ça à l'air assez marginal comme truc.

Mais tu veux développer quoi exactement ? Peut-être que d'autres logiciels de macros existent et font tout aussi bien ce que tu veux, mais avec de la doc en Français cette fois ? (J'ai l'impression que tu veux créer des logiciels avec ce langage...)
  • Partager sur Facebook
  • Partager sur Twitter
J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
9 mars 2008 à 19:06:22

En fait je veux effectivement créer des logiciels avec AutoIt.
Je sais ce que vous allez me dire : "AutoIt c'est pas l'idéal, prends plutôt le C, AutoIt c'est pour l'automatisation des tâches Windows".
En fait AutoIt permet non seulement d'automatiser les tâches Windows mais aussi, et c'est une fonction beaucoup moins connue du langage, de créer des fenêtres Windows et des interfaces graphiques très perfectionnées très facilement.
C'est beaucoup plus facile que le C et plus puissant que le Basic, c'est pour ça que je me suis tourné vers AutoIt et que je m'accroche...
  • Partager sur Facebook
  • Partager sur Twitter
10 mars 2008 à 16:15:36

Citation : Kyolekiller88

mais aussi, et c'est une fonction beaucoup moins connue du langage, de créer des fenêtres Windows et des interfaces graphiques très perfectionnées très facilement.



Une interface graphique n'est pas un logiciel, ce sont deux choses différentes.
Après, j'aimerais bien que tu étaies plus ce que tu dis (car si c'est effectivement un langage si simple et puissant, d'une part ça m'intéresse, d'autre part c'est bizarre que personne n'en parle). Tu as des exemples de logiciels codés en autoIt (même touts petits ?).

Parceque j'ai cherché de mon côté, j'ai trouvé quelques trucs pour faire des automatisations de tâches, des descriptifs et tout ça OK, mais des logiciels, niet. A se demander si c'est toujours supporté...
  • Partager sur Facebook
  • Partager sur Twitter
J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
10 mars 2008 à 18:23:43

En fait c'est un ami qui m'a parlé d'AutoIt et je ne peux donc rien garantir, mais d'après lui et ce lien AutoIt serait équipé d'une librairie (ou de fonctions directement intégrées, je ne sais pas exactement) GUI permettant de créer des interfaces graphiques, et donc d'en faire un langage de programmation à part entière permettant de créer des logiciels.

Et d'après le forum français d'AutoIt, il existerait même un logiciel fonctionnant sous AutoIt permattant de créer directement des fenêtres graphiques (Koda).

PS: J'ai fait des recherches et j'ai découvert une page où quelqu'un conseillait VB.NET à la place d'AutoIt.
A-t-il raison ? VB.NET permet-il les mêmes choses qu'AutoIt plus facilement ? (lien)

  • Partager sur Facebook
  • Partager sur Twitter
10 mars 2008 à 23:40:55

Je sais que AutoIt était pas mal utilisé pour ce qui est des "bots" sur certains mmorpgs... pour ceux qui connaissent pas les bots sont des programmes qui "jouent" à la place du joueur ....
  • Partager sur Facebook
  • Partager sur Twitter
11 mars 2008 à 18:19:13

Kyolekiller88, à mon avis les possibilités de VB dot net sont bien plus grandes que celles d'autoIt. Le premier est un langage de programmation évolué et complet, le second système de scriptage.
Avec VB.Net, tu as toute le plateforme DotNet derrière toi, ce n'est pas négligeable... Concevoir des interfaces graphiques (visuellement, même) et/ou interéagir avec le système peut aussi se faire très simplement en VB.Net. Donc, je recommanderait plutôt ça aussi.
L'inconvéniant c'est que c'est plus lourd (Visual Studio .NET sous Windows, c'est très lourd). Mais tu as plus de possibilités et l'outil est plus adapté en mon sens.
  • Partager sur Facebook
  • Partager sur Twitter
J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
11 mars 2008 à 18:30:03

Citation : GuilOooo

Kyolekiller88, à mon avis les possibilités de VB dot net sont bien plus grandes que celles d'autoIt. Le premier est un système de scriptage, le second un langage de programmation évolué et complet.



C' est trés logique comme phrase :D
  • Partager sur Facebook
  • Partager sur Twitter
12 mars 2008 à 18:04:44

Ah oui exact. C'est le contraire. Merci.
  • Partager sur Facebook
  • Partager sur Twitter
J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
13 mars 2008 à 19:05:49

Merci beaucoup à vous pour vos précieux conseils !
Je crois que je vais me mettre au VB.NET, alors !
Pourtant j'ai téléchargé Koda il y a pas longtemps et c'est vraiment génial

screenshot (La barre blanche en-dessous du texte c'est une barre de chargement à 0%).

J'ai fait cette fenêtre avec Koda en 5 minutes à sa première utilisation.

PS: J'ai pas su répondre avant car je n'avais plus accès à l'ordinateur.

  • Partager sur Facebook
  • Partager sur Twitter
13 mars 2008 à 20:21:55

Citation : Kyolekiller88

J'ai fait cette fenêtre avec Koda en 5 minutes à sa première utilisation.



Je te la fais en 5 minutes d'utilisation avec Qt Designer. Ou même avec Visual Studio (VB .Net) si tu veux. Ou même simplement "à la main" avec wxWidgets.

Mais en fait, l'interface, on s'en fout un peu. Je dis pas que c'est pas important, mais LE truc principal du programme, c'est son coeur, la partie qui travaille, non ? (D'ailleurs, une interface toute seule ne sert à rien, alors qu'un programme fonctionnel sans interface sert beaucoup).

Donc, avant de clamer les qualités de ce langage, regardes donc si tu peux programmer et pas seulement dessiner.

Enfin, je suis pas graphiste, mais ça serait cool d'avoir une image un peu moins aliasée et un fond de fenêtre qui aille avec l'image (gris, donc). Ça serait plus agréable à l'oeil, à mon avis.
  • Partager sur Facebook
  • Partager sur Twitter
J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
6 juin 2008 à 23:39:40

Bonjour a tous. ce sujet est très vieux d'accord mais je ne peux laisser les gens qui lisent ce sujet croire ce que certains ont écrits.
Depuis la Version 3 d'AutoIt, ce n'est plus un language 'basic' mais un vrai code: ayant pas mal touché à visual studio je peux vous garantir qu'autoit est largement mieux dans le sens ou il n'y a pratiquement rien a installé, il n'y a pas besoin de compiler un script pour le tester, un simple clic droit suffit pour le compiler en .exe pour le distribuer sur une machine ou Autoit n'est pas installé.
Voici un code assez simple qui crée un utilitaire pour generer des mots de passes aleatoires:
#include <GUIConstants.au3>
#include <Array.au3>
#Include <GuiListBox.au3>
Global $nombredemdp = 0

$PassGenerator_GUI = GUICreate("PassGenerator v1.0", 263, 192, 193, 125)
$Label1 = GUICtrlCreateLabel("Générer un mot de passe de ", 8, 16, 141, 17)
$NbrChar = GUICtrlCreateCombo("", 149, 13, 41, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "3|4|5|6|7|8|9|10")
$Label2 = GUICtrlCreateLabel("caractères.", 194, 16, 57, 17)
$MajChar = GUICtrlCreateCheckbox("Avec des lettres majuscules (A-Z)", 8, 48, 185, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$MinChar = GUICtrlCreateCheckbox("Avec des lettres minuscules (a-z)", 8, 72, 177, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$ChfrChar = GUICtrlCreateCheckbox("Avec des chiffres (0 - 9)", 8, 96, 129, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$GenerationInput = GUICtrlCreateInput("", 96, 135, 145, 28, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
GUICtrlSetLimit(-1, 10)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Generate = GUICtrlCreateButton("Générer", 8, 135, 75, 27, 0)
$MajList = GUICtrlCreateList("", 176, 112, 25, 6)
GUICtrlSetData(-1, "A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z")
GUICtrlSetState(-1, $GUI_HIDE)
$MinList = GUICtrlCreateList("", 209, 86, 25, 6)
GUICtrlSetData(-1, "a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z")
GUICtrlSetState(-1, $GUI_HIDE)
GUISetState(@SW_SHOW)

While 1
    $msg = GUIGetMsg()
   
   
    If $msg = $GUI_EVENT_CLOSE Then Exit
   
   
    If $msg = $Generate Then
        If GUICtrlRead($NbrChar) <> "" Then
            If GUICtrlRead($MajChar) = 1 Or GUICtrlRead($MinChar) = 1 Or GUICtrlRead($ChfrChar) = 1 Then
                GUICtrlSetData($GenerationInput, "")
                $De0a9 = _ArrayCreate("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
                For $_pg = 0 To GUICtrlRead($NbrChar) - 1
                    If GUICtrlRead($MajChar) = 1 Then
                        $CapsChar = _GUICtrlListBox_GetText($MajList, Random(0, 25, 1))
                    Else
                        $CapsChar = ""
                    EndIf
                       
                    If GUICtrlRead($MinChar) = 1 Then
                        $MinusChar = _GUICtrlListBox_GetText($MinList, Random(0, 25, 1))
                    Else
                        $MinusChar = ""
                    EndIf
                   
                    If GUICtrlRead($ChfrChar) = 1 Then
                        $NumberChar = $De0a9[Random(0, 9, 1)]
                    Else
                        $NumberChar = ""
                    EndIf
                   
                    $PassChar = _ArrayCreate($CapsChar, $MinusChar, $NumberChar)
                   
                    Do
                        $CharToInsert = $PassChar[Random(0, 2, 1)]
                    Until $CharToInsert <> ""
                   
                    GUICtrlSetData($GenerationInput, GUICtrlRead($GenerationInput)&$CharToInsert)
					
				Next
				$nombredemdp = 1 + $nombredemdp
				IniWrite("mdp.ini", "motdepasse", $nombredemdp, GUICtrlRead($GenerationInput) )
            Else
                MsgBox(0, "Erreur", "Aucune conditions cochées !!!")
            EndIf
        Else
            MsgBox(0, "Erreur", "Nombre de caractères non choisit !!!")
        EndIf
    EndIf
WEnd

Vous pouvez voir ce que ca donne ici(rien besoin d'installer)
  • Partager sur Facebook
  • Partager sur Twitter
25 juillet 2008 à 17:59:13

Citation : timmalos

Bonjour a tous. ce sujet est très vieux d'accord mais je ne peux laisser les gens qui lisent ce sujet croire ce que certains ont écrits.
Depuis la Version 3 d'AutoIt, ce n'est plus un language 'basic' mais un vrai code: ayant pas mal touché à visual studio je peux vous garantir qu'autoit est largement mieux dans le sens ou il n'y a pratiquement rien a installé, il n'y a pas besoin de compiler un script pour le tester, un simple clic droit suffit pour le compiler en .exe pour le distribuer sur une machine ou Autoit n'est pas installé.


+1

L'AutoIt, aujourd'hui, c'est tellement plus qu'un simple langage de scripting.


Citation : timmalos


Voici un code assez simple qui crée un utilitaire pour generer des mots de passes aleatoires:

#include <GUIConstants.au3>
#include <Array.au3>
#Include <GuiListBox.au3>
Global $nombredemdp = 0

$PassGenerator_GUI = GUICreate("PassGenerator v1.0", 263, 192, 193, 125)
$Label1 = GUICtrlCreateLabel("Générer un mot de passe de ", 8, 16, 141, 17)
$NbrChar = GUICtrlCreateCombo("", 149, 13, 41, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "3|4|5|6|7|8|9|10")
$Label2 = GUICtrlCreateLabel("caractères.", 194, 16, 57, 17)
$MajChar = GUICtrlCreateCheckbox("Avec des lettres majuscules (A-Z)", 8, 48, 185, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$MinChar = GUICtrlCreateCheckbox("Avec des lettres minuscules (a-z)", 8, 72, 177, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$ChfrChar = GUICtrlCreateCheckbox("Avec des chiffres (0 - 9)", 8, 96, 129, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$GenerationInput = GUICtrlCreateInput("", 96, 135, 145, 28, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
GUICtrlSetLimit(-1, 10)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Generate = GUICtrlCreateButton("Générer", 8, 135, 75, 27, 0)
$MajList = GUICtrlCreateList("", 176, 112, 25, 6)
GUICtrlSetData(-1, "A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z")
GUICtrlSetState(-1, $GUI_HIDE)
$MinList = GUICtrlCreateList("", 209, 86, 25, 6)
GUICtrlSetData(-1, "a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z")
GUICtrlSetState(-1, $GUI_HIDE)
GUISetState(@SW_SHOW)

While 1
    $msg = GUIGetMsg()
   
   
    If $msg = $GUI_EVENT_CLOSE Then Exit
   
   
    If $msg = $Generate Then
        If GUICtrlRead($NbrChar) <> "" Then
            If GUICtrlRead($MajChar) = 1 Or GUICtrlRead($MinChar) = 1 Or GUICtrlRead($ChfrChar) = 1 Then
                GUICtrlSetData($GenerationInput, "")
                $De0a9 = _ArrayCreate("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
                For $_pg = 0 To GUICtrlRead($NbrChar) - 1
                    If GUICtrlRead($MajChar) = 1 Then
                        $CapsChar = _GUICtrlListBox_GetText($MajList, Random(0, 25, 1))
                    Else
                        $CapsChar = ""
                    EndIf
                       
                    If GUICtrlRead($MinChar) = 1 Then
                        $MinusChar = _GUICtrlListBox_GetText($MinList, Random(0, 25, 1))
                    Else
                        $MinusChar = ""
                    EndIf
                   
                    If GUICtrlRead($ChfrChar) = 1 Then
                        $NumberChar = $De0a9[Random(0, 9, 1)]
                    Else
                        $NumberChar = ""
                    EndIf
                   
                    $PassChar = _ArrayCreate($CapsChar, $MinusChar, $NumberChar)
                   
                    Do
                        $CharToInsert = $PassChar[Random(0, 2, 1)]
                    Until $CharToInsert <> ""
                   
                    GUICtrlSetData($GenerationInput, GUICtrlRead($GenerationInput)&$CharToInsert)
					
				Next
				$nombredemdp = 1 + $nombredemdp
				IniWrite("mdp.ini", "motdepasse", $nombredemdp, GUICtrlRead($GenerationInput) )
            Else
                MsgBox(0, "Erreur", "Aucune conditions cochées !!!")
            EndIf
        Else
            MsgBox(0, "Erreur", "Nombre de caractères non choisit !!!")
        EndIf
    EndIf
WEnd


Vous pouvez voir ce que ca donne ici(rien besoin d'installer)



Ah PassGenerator c'est mon script ! :)
Content de voir qu'il sert. ^^

Si ça intéresse certain, la source originale se trouve sur le forum 'officiel' francophone d'AutoIt, ici :
http://www.autoitscript.fr/forum/viewtopic.php?f=6&t=806
  • Partager sur Facebook
  • Partager sur Twitter
26 juillet 2008 à 15:19:46

Ça brûle un peu les yeux sans coloration syntaxique, dommage.

Sinon, c'est cool, tu peux utiliser ton langage en installant un IDE moins lourd que Visual Studio. D'un autre côté, si c'est ton seul argument pour utiliser AutoIt, ça ne réfute pas pour autant le fait que ça soit un langage de script pratique pour les macro et les petites GUI, mais pas pour les applis de la vie de tout les jours.

Je pose un argument de fond, tu réponds sur la forme là. Mais en fin si tu veux en discuter...

Je vois bien qu'AutoIt a des outils bien plus légers que VS pour développer avec. Mais ce n'est pas la même chose ; je maintiens qu'avec VS, tu n'aura aucun souci quand tes applis vont devenir un peu grosses, alors qu'avec AutoIt, tu risques d'avoir des problemes. C'est parce que le champ d'application n'est pas le même.

Exemple : si je veux de l'aide, un outil, ou un conseil, il y a probablement plus de gens capables de me répondre chez DotNet ou Delphi que chez AutoIt. Et comme je n'ai pas, à priori, d'excellentes raisons de passer de DotNet (ou Java, ou whatever) à AutoIt, je me montre septique quand quelqu'un me le présente comme le langage du sciècle.

En d'autre termes, je crache pas sur AutoIt, je dis simplement qu'il ne faut pas essayer de le caser partout sous prétexte qu'il est « cool », « sympa », « regarde mon IDE il est plus léger que le tien tavu %% ».

Mon approche, quand je vois des gens qui demandent des conseils sur telle ou telle technos dans les fora, c'est de demander au PO quel est son but final pour voir si une autre techno ne conviendrait pas mieux ; il n'y a pas de raisons de ne pas me répondre, et s'obstiner à vouloir utiliser celle là sans raisons majeures me paraît louche (probl de conception ..?). Alors je m'obstine.
  • Partager sur Facebook
  • Partager sur Twitter
J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
2 janvier 2009 à 22:48:42

Enorme déterrage de topic...
Mais franchement, j'aimerais défendre AutoIt face à Visual Basic...
1èrement : Langage Basique et complet(Comme Visual Basi xD)
2èmement : Pas besoin de framework( Wah ! super ^^)
3èmement : Certaines tâches sont bien plus simple qu'avec VB comme la gestion de BDD avec le module SQlite...

Maintenant, si un modo en à marre du déterrage interminable ---> Fermer le topic ?
Mais je ne peux pas laisser les gens qui lisent ces topics sur AutoIt croire que VB est mieux...
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
3 janvier 2009 à 14:27:44

L'option 1 est pas mal.

Surtout que tu répètes ce qui est déjà dit plus haut.



Image utilisateur


  • Partager sur Facebook
  • Partager sur Twitter