Probleme supression premieres lettre box !

Résolu
Alucard49000 Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 23 mars 2006 - 22 janv. 2006 à 19:03
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 22 janv. 2006 à 22:01
Bonjour à toutes et a tous
Je suis actuellement en conception d'un tout petit trojan (rien de mechant il ne permetera que d'envoyer des message box...).
Voici mon code du server :

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim data As String
Winsock1.GetData data


Select Case Left(data, 4)


Case "MSGX"
data = MsgBox(Left(data, -4), vbOKOnly, "Windows")


End Select


End Sub



Le probleme vient du -4 en effet je ne peut pas mettre d'espace entre le - et le 4. Si j'essaye d'en mettre un VB l'enlevera tout de suite . Donc quand j'essaye d'envoyer un message VB dit qu'il y a une erreur... J'ai essayer sans le - tout marche bien...

J'attend une reponse svp.
Ne bloquer pas ce topic du fait que c'est pour la conseption dun tout petit trojan svp.
Merci de votre conprehension.


Soyer indulgent stp !!

7 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 janv. 2006 à 19:27
woups.....

MsgBox right$(data, len(data)-4), vbOKOnly, "Windows"
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 janv. 2006 à 21:33
ok, dans l'ordre :





data est une String, donc une chaîne de caractère

dans le meilleur des cas, tu vas donc avoir data contenant par exemple :

MSGXcliquez 'OK' pour commencer ma blague



on verra après qu'il y a déjà un problème...***



ensuite tu fais des actions selon les 4 permiers caractères reçus.

tu relève donc ces 4 caractères en utilisant la fonction Left(chaîne, taille)

Left renvoie un Variant. il fait donc utiliser Left$ pour préformater le retour en string

(là on est dans le select case)



MsgBox ouvre une boîte de dialogue, mais renvoie un résultat en Long.

tu ne veux pas récupérer se résultat, donc ce n'est pas variable = msgbox("Message", type_bouton, "Titre)

mais juste

MsgBox "Message", type_bouton, "Titre"



ce message sera la data reçue, en enlevant l'entête, donc les 4 caractères.

on va donc reprendre la droite - 4

pareil, avec $ pour formater en string

Right$(data, TAILLE)

et pour avoir cette taille, on récupère la taille totale du message par la fonction Len qui renvoie un Long, à laquelle on ôte les 4 de l'entête.



right$(data, Len(data)-4)



voilà ;)



*** pourquoi le message peut être éronné :

Winsock n'envoie pas forcément tout le message au complet, ou envoie parfois plusieurs messages les uns dans les autres.

il faut donc le séparer à l'envoie, et tester à la réception que le séparateur clôture bien la chaîne.



surtout pour les grandes chaînes...



demande au besoin...

espérant t'avoir renseigné ;)



PCPT [AFCK]
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 janv. 2006 à 19:26
-4 = taille négative....

data est une string. tu vas ensuite lui donner la réponse du message?





Select Case Left(data, 4)



Case "MSGX"
MsgBox left$(data, len(data)-4), vbOKOnly, "Windows"



case else

msgbox "'Alucard49000' a oublié d'utiliser un
buffer. désolé pour cette Static manquante",vbokonly,"erreur de
conception du trojan"




End Select


PCPT [AFCK]
0
Alucard49000 Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 23 mars 2006
22 janv. 2006 à 19:44
Merci ca marche tres bien !
Mais bon c'est pas tout de faire copier coller j'aimerai bien comprendre un peu

donc :
MsgBox Right(data, Len(data) - 4)


right = pour dire que l'on pren que ce qu'il y a a droite
data = ba msg envoyer
Len et la suite = je sais pas pourquoi (dans ce forum on a le droit d'utiliser des contration comme pk ? :D) Tu peu m'espliquer stp ?


Encore que débutant !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 janv. 2006 à 21:34
truffé de fautes, désolé
0
Alucard49000 Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 23 mars 2006
22 janv. 2006 à 21:50
Merci pour tout !
A oui ca sert a quoid le bouton "Reponse acceptée !" en dessous de tous les messages mdrci !


Encore que débutant !!
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 janv. 2006 à 22:01
c'est pour valider la ou les réponses qui te conviennent..

le but étant pour les autres lecteurs, de voir directement que le topic
est résolu (s'ils cherchent.... et qu'ils ont le même problème).
0
Rejoignez-nous