Bonjour à tous,
Je souhaite effectuer un réveil de mon serveur par le réseau (Wake On Lan) via une commande d'un formulaire.
J'utilise une procédure qui a déjà fait ses preuves dans mes applications mais dans ce cas précis le fichier bat, s'il apparait fugitivement lors de l'exécution de la procédure plus une variable retour "attendue" (à savoir un nombre), ne produit pas le résultat.
En gros, il n'est pas réellement exécuté.
Je constate cela avec un WOL monitor en écoute sur le serveur.
Le fichier bat créé par la procédure semble correct car si je double clic dessus les "paquets magiques" sont bien envoyés au serveur.
L'exécutable est placé dans le dossier de l'appli.
Tout semble normal, pourtant...
Je vous livre le code et vous me donnerez votre avis!
Merci de votre attention et bonne année à tous!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub cmdWol_Click() Dim sCommande As String, sFichierBat As String, nResultat As Double sFichierBat = CurrentProject.Path & "\wolcmd.bat" sCommande = "wolcmd ABCDEFGHIJKL mon serveur.dyndns.org 255.255.255.255 442" Me.lblAvancement.Caption = sCommande Call CreerFichier(sFichierBat) Call AjoutLigneDansFichier(sFichierBat, sCommande) 'Call AjoutLigneDansFichier(sFichierBat, "exit") Me.lblAvancement.Caption = "Exécution de " & sFichierBat nResultat = Shell(sFichierBat, vbNormalFocus) Me.lblAvancement.Caption = "Exécution de " & sFichierBat & ". Retour : " & nResultat End Sub
Partager