Erreur 380,Logiciel NEt send

cs_dussart Messages postés 8 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 22 juillet 2004 - 9 juin 2004 à 15:47
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 10 juin 2004 à 16:17
Bonjour a tous
J'ai concu un logiciel me permettant d'effectuer un net send sur toutes les machines de ma boite, mais lors de l'execution de mon logiciel, j'ai une erreur 380 qui apparait, et qui apparemment serait lié au fait que certaines machines soient éteintes et que le net send ne peut donc se faire (des fenetre cmd s'ouvrent avec la commande net.exe et ne se ferment pas)

Quelqu'un pourrait-il me dire comment faire pour terminer ma commande si je n'ai pas de réponse(comme un Time out avec un ping en fait)
Et comment faire pour eviter cette erreur 380??

voici ma fonction netsend
__________________________________________________________
If List1.ListCount = 0 Then
MsgBox ("Veuillez selectionner au moins un destinataire")
Else
List1.ListIndex = 1
While i < List1.ListCount + 1
Shell ("net send ") + List1.Text & " " & Text1.Text
List1.ListIndex = List1.ListIndex + 1
Wend
End If
__________________________________________________________

Les valeurs dans list1 sont des Nom de postes.

Laurent

4 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
9 juin 2004 à 16:05
Je te conseille d'utiliser les API plutot qu'un Shell("Net Send" ...)
J'ai un bout de code sur le sujet si tu veux

Christophe R.
0
cs_dussart Messages postés 8 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 22 juillet 2004
9 juin 2004 à 16:13
pq pas?
Ca consiste en quoi les API?

Laurent
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
9 juin 2004 à 22:14
J'ai pas le code sous la main et j'ai pas le courage de le refaire (c'est pas bien complique mais bon !) Je te l'envois dès demain lorsque je serais sur ma machine au boulot !

Christophe R.
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
10 juin 2004 à 16:17
Voici le code
' Envoi d'un message via le service Messagerie de Windows NT
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


Christophe R.
0