[Ex] Windows Live Messenger

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

[Ex] Windows Live Messenger

#1

Message par DJSIR »

Bonjour. Je reprend le proget de ethneldryt (ethnel-msn) ct je lui avait proposé de l'aider et ne n'avait pas eu de réponse. Fin bref, j'ai ajouté quelques fonctions et j'ai corrigé le bug de la pub sur e-buddy
Voila bon download !

EDIT : version corigée grace au code de VooDoo
Fichiers joints
Windows Live Messenger.zip
(415.18 Kio) Téléchargé 444 fois
Modifié en dernier par DJSIR le ven. 01 mai 2009 10:56, modifié 2 fois.
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: [Ex] Windows Live Messenger

#2

Message par Voodoo »

Code : Tout sélectionner

If FileExists("ini.ini") Then
$inireadlogin= IniRead("ini.ini","identifiants","login","")
$inireadmdp= IniRead("ini.ini","identifiants","mdp","")

[Code du programme]

else

[Code du programme sans $inireadlogin et $inireadmdp] 

 
Ton code est entièrement écris deux fois à cause d'un if ! Je ne pouvais pas laisser passer ça ! Fait plutôt ceci:

Code : Tout sélectionner

If FileExists("ini.ini") Then
$inireadlogin= IniRead("ini.ini","identifiants","login","")
$inireadmdp= IniRead("ini.ini","identifiants","mdp","")
endif
[suite du programme]
 
De toute façon si iniread() ne trouve pas les informations il retournera le 4 ème paramètre soit "" donc c'est bon.

Sinon le fait d'utiliser un service externe est une bonne idée pour se connecter à Msn. Même si faire le protocole utilisé par MSN avec les fonctions Tcp aurait sans doute permis plus de flexibilité !

Attention, dans la fenêtre de login le mot de passe est en clair !
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

Re: [Ex] Windows Live Messenger

#3

Message par DJSIR »

Bonjour. Merci pour le coup du if je ne cnaisais pas.

Pour le tcp, j'aimerais avoir quelques exemples stp car je n'aie jamais utilise et je connais juste de nom.
VooDoo a écrit :Attention, dans la fenêtre de login le mot de passe est en clair !
Comment fait-on pour le cacher?

Merci, DJSIR
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: [Ex] Windows Live Messenger

#4

Message par Voodoo »

Pour les fonctions Tcp, c'est une architecture client-serveur:

Serveur:

Code : Tout sélectionner

TCPStartup()
$MainSocket = TCPListen("127.0.0.1", 23000)
if $MainSocket = -1 then exit Msgbox(16,"Erreur","Impossible de creer le serveur sur le port 23000")

Do
    $Socket = TCPAccept($MainSocket)
Until $Socket <> -1

While 1
    $recv = TCPRecv($Socket, 512)
    If @error Then ExitLoop
    if $recv <> "" then Msgbox(0,"Recv:",$recv)
WEnd
TCPShutdown()
 
Client:

Code : Tout sélectionner

TCPStartup()
$socket = TCPConnect("127.0.0.1", 23000)
If @error Then
        MsgBox(4112, "Erreur","Pas de serveur sur 127.0.0.1:23000")
Else
    $Data = InputBox("Envoye au serveur", "Rentrez un mot à envoyer au serveur:")
    TCPSend($socket, $Data)
EndIf
TCPShutdown()
 
Il faut lancer le script contenant le serveur avant le client. Tu trouveras plus de fonction dans l'aide.
Il faut juste retenir ceci:

Le serveur:
  1. Ouvre une connexion avec un Tcplisten()
  2. Il attend que quelqu'un se connecte avec le Tcpaccept()
  3. il envoie/ reçoit les messages avec Tcprecv() / Tcpsend()
Le client:
  1. Se connecte à une ip et port avec Tcpconnect()
  2. il envoie/ reçoit les messages avec Tcprecv() / Tcpsend()
Une fois se mécanisme comprit, les fonctions tcp n'ont plus aucun secret !

Pour cacher le mot de passe, il faut rajouter l'option $ES_PASSWORD dans les styles de l'input.
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

Re: [Ex] Windows Live Messenger

#5

Message par DJSIR »

Merci. Il y a juste une petite chose que je comprend pas. Comment peux-t-on utiliser le protocole TCP avec MSN alors que l'on se connecte a un site qui sers de Web Messenger ?
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: [Ex] Windows Live Messenger

#6

Message par Voodoo »

Justement, ton script utilise une page web qui sert d'interface au protocole Msn. Mais si je veux changer l'apparence de la fenêtre par exemple: je ne peux pas car je suis limité à l'affichage de cette page web.

En gros ton schéma est le suivant: Ton script -> web -> protocole utilisé par Msn -> serveur de messagerie.

En réalisant un Msn en autoit3, le schéma ressemblerait à ceci: Ton script -> protocole utilisé par Msn -> serveur de messagerie. Bien sur il faudrait trouver des infos sur le protocole Msn et faire entièrement l'interface graphique...c'est une autre histoire ! Mais si tu veux faire un petit client Msn sa doit être faisable.
Slymayer
Niveau 1
Niveau 1
Messages : 5
Enregistré le : sam. 25 avr. 2009 23:29
Status : Hors ligne

Re: [Ex] Windows Live Messenger

#7

Message par Slymayer »

Tu peux déjà essayer de trouver le protocole grâce à eBuddy, ou encore de se connecter en utilisant le potocole d'eBuddy, ce qui me paraît plus simple. Sinon, en dernier recours, utilise la source de aMSN !

Petite aide : http://webmessenger.msn.com/?mkt=fr-fr

Je pense surtout que le plus dur sera la connexion au service Live...

Enfin bon, bonne chance !
Répondre