Appel de programme

Signaler
Messages postés
8
Date d'inscription
jeudi 13 mai 2004
Statut
Membre
Dernière intervention
13 novembre 2004
-
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
-
Bonjour le forum,

J'essaie de faire une petite messagerie en vb en utilisant la commande net send, mais cela ne fonctionne pas et je n'ai pas de message d'erreur, j'ai une fenetre d'execution dos qui s'ouvre, tout comme si je saisie la commande dans executer mais elle reste ouverte et rien ne se passe.

Le but de mon appli est de faire une messagerie instanée et qui affiche pour chacun la liste des personnes connecter à notre réseau.

Merci d'avance pour votre aide.

Greg

5 réponses

Messages postés
79
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
8 juin 2004

est ce que le net send est activé sur ton poste au moins?!
sinon pour l'activer tu fais
net start "affichage des messages"
Messages postés
79
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
8 juin 2004

sinon il y une source pas mal sur le site : "ENVOYER DES MESSAGES EN RÉSEAU GRÂCE À NET SEND". Vas voir tu devrais y trouver ton bonheur !
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
Sinon je peux te refiler le code pour passer par les API, c'est bien plus efficace qu'un SHELL !!

Christophe R.
Messages postés
8
Date d'inscription
jeudi 13 mai 2004
Statut
Membre
Dernière intervention
13 novembre 2004

Merci crenaud76, cela m'interesse

Greg
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
Private Declare Function NetSend Lib "Netapi32" Alias "NetMessageBufferSend" (servername As Byte, Msgname As Byte, Fromname As Byte, buf As Byte, ByVal buflen As Long) As Long

Public Function EnvoiMsg(Pour As String, De As String, Msg As String) As Long
Dim SName() As Byte, Dest() As Byte, Exp() As Byte, buf() As Byte, buflen As Long

    Msg = Trim(Msg)
    Pour = UCase(Trim(Pour))
    De = UCase(Trim(De))
    SName = "" & vbNullChar
    Dest = Pour & vbNullChar
    Exp = De & vbNullChar
    buf = Msg & vbNullChar
    buflen = Len(Msg) * 2
    EnvoiMsg = NetSend(SName(0), Dest(0), Exp(0), buf(0), buflen)
End Function

Tu colle cela dans un module et tu n'as plus qu'à appeler la fonction EnvoiMsg(...) Les noms de parametres sont suffisament explicits, je pense que tu trouveras tout seul.
De mémoire, la fonction renvoie zéro si le msg à été correctement envoyé et une valeur <> 0 sinon.
Christophe R.