Page 1 sur 1

[R] Utilisation de dll

Posté : mer. 26 juin 2013 13:06
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.

Re: [..] Utilisation de dll

Posté : mer. 26 juin 2013 13:24
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

Re: [..] Utilisation de dll

Posté : mer. 26 juin 2013 13:41
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

Re: [..] Utilisation de dll

Posté : mer. 26 juin 2013 13:52
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...

Re: [..] Utilisation de dll

Posté : mer. 26 juin 2013 14:15
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

Re: [..] Utilisation de dll

Posté : mer. 26 juin 2013 14:33
par Eyyon
Ah merci beaucoup!

Sujet résolu.

Re: [..] Utilisation de dll

Posté : jeu. 27 juin 2013 11:13
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]