[R] Utilisation de dll

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Eyyon
Niveau 3
Niveau 3
Messages : 31
Enregistré le : ven. 21 juin 2013 18:18
Status : Hors ligne

[R] Utilisation de dll

#1

Message par Eyyon »

Bonjour/bonsoir.
Alors voilà, j'ai créé un programme simple utilisant plusieurs GUI mais le problème est que je ne peux interagir qu'avec une seule GUI à la fois... J'en ai conclus que je devais alors faire appel à l'utilisation de .dll , mais je ne sais pas du tout comment les utiliser... J'ai cherché sur ce forum, mais aucun sujet ne m'a aidé comme je l'aurais voulu; je sais a peine créer une dll :?
Merci de votre aide, Eyyon.
Modifié en dernier par Eyyon le mer. 26 juin 2013 14:33, modifié 1 fois.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Utilisation de dll

#2

Message par TT22 »

Tien, voici un petit exemple d'appel de la fonction MessageBox dans User32.dll :

Code : Tout sélectionner

While True
    $Return = _MsgBox("Contenu de la MessageBox !", "Titre de la MessageBox", BitOR(0x00000040,0x00000005))
    If $Return = 4 Then
        ContinueLoop
    Else
        ExitLoop
    EndIf
WEnd

Func _MsgBox ( $lpText = "text", $lpCaption = "title", $uType = 0 )
    $Return = DllCall("User32.dll", "int", "MessageBox", "HWND", 0, "STR", $lpText, "STR", $lpCaption, "int", $uType)
    Return $Return[0]
EndFunc
Cordialement,
TT22
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Utilisation de dll

#3

Message par mikell »

Eyyon a écrit : je ne peux interagir qu'avec une seule GUI à la fois... J'en ai conclus que je devais alors faire appel à l'utilisation de .dll
Faudrait expliquer ce que tu entends exactement par interagir
Beaucoup de scripts utilisent plusieurs gui et les gèrent diversement sans avoir besoin de dll
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Eyyon
Niveau 3
Niveau 3
Messages : 31
Enregistré le : ven. 21 juin 2013 18:18
Status : Hors ligne

Re: [..] Utilisation de dll

#4

Message par Eyyon »

Je n'ai pas trop compris l'exemple de la msgbox :?

@mikell
Je ne peux tout simplement rien faire avec les autres GUI ouvertes, par exemple si je clique sur un bouton, ça ne fera rien excepté si le bouton est sur la dernière GUI créée...
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Utilisation de dll

#5

Message par mikell »

Ah mais ça c'est un problème de gestion de gui, les dll n'ont rien à voir là dedans :mrgreen:
Tu devrais regarder cet autre topic en cours
http://www.autoitscript.fr/forum/viewto ... =3&t=11404
qui traite d'un sujet comparable
ou encore mieux lire ça
http://www.autoitscript.com/wiki/Managing_Multiple_GUIs
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Eyyon
Niveau 3
Niveau 3
Messages : 31
Enregistré le : ven. 21 juin 2013 18:18
Status : Hors ligne

Re: [..] Utilisation de dll

#6

Message par Eyyon »

Ah merci beaucoup!

Sujet résolu.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Utilisation de dll

#7

Message par TT22 »

Eyyon a écrit :Je n'ai pas trop compris l'exemple de la msgbox :?
Il serait dommage de rester sans avoir compris :roll:
Voici donc une explication de la ligne concernée :

Code : Tout sélectionner

DllCall("User32.dll", _ [color=#00BF00]; Indique la DLL dans laquelle se touve la fonction.[/color]
        "int", "MessageBox", _ ; [color=#00BF00]Indique le type de retour de la fonction (int = nombre entier) et le nom de la fonction.[/color]
        "HWND", 0, _ [color=#00BF00]; Indique le type du premier paramètre et la valeur de ce paramètre (en l'occurence 0 car non utilisé).[/color]
        "STR", $lpText, _ [color=#00BF00]; Indique le type du second paramètre (STR = Chaine de caractères) et sa valeur (le contenu de la MessageBox).[/color]
        "STR", $lpCaption, _ [color=#00BF00]; Indique le type du troisième paramètre et sa valeur (le titre de la MessageBox).[/color]
        "int", $uType) [color=#00BF00]; Indique le type du quatrième paramètre et sa valeur (les options de la MessageBox).[/color]
Cordialement,
TT22
Répondre