Executer une commande cmd depuis visual basic express

CHEESE ! -  
 CHEESE! -
Bonjour,

Je possede un serveur minecraft bukkit et je veut faire un programme avec visual basic express qui me permet d' executer la commende /reload dans la console du serveur.

Merci d' avannce
A voir également:

6 réponses

MrYAU31 Messages postés 3808 Date d'inscription   Statut Membre Dernière intervention   1 615
 
Tu as des exemples à la fin de la page.
 Dim myProcess As New Process()
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.FileName = "Ton exe, bat ou autre fichier"
myProcess.StartInfo.CreateNoWindow = True
myProcess.Start()
3
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
'lut, tu dis "Je possede un serveur minecraft bukkit", c'est un serveur perso ou dédié? Si c'est du dédié, encore faut-il que tu puisse lancer des scripts et que ce dernier tourne sous Windows, ce qui n'est généralement pas le cas pour les serveurs.
Une fois qu'on est surs qu'on peut lancer des programmes VB.NET, alors on peut passer au technique...
Pour taper une commande dans la console du serveur, il faut que le serveur lui-même soit lancé par ton programme, pour qu'il puisse marquer "/reload" dans le flux d'entrée standard.
Et pour que ça se fasse, il faut utiliser
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.RedirectStandardInput = True
StreamWriter myStreamWriter = myProcess.StandardInput
' Autres paramètres, Lancement du processus avec myProcess.Start()...
myStreamWriter.WriteLine("/reload")

À noter qu'on ne peut pas lancer un fichier .bat quand on utilise cette méthode, donc il faut passer les paramètres nécessaires dans le code de ton programme.
1
MrYAU31 Messages postés 3808 Date d'inscription   Statut Membre Dernière intervention   1 615
 
Voici la réponse d'un pro ;-)
Je ne connais pas Minecraft donc je n'aurais pas réussi à l'aider...
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
Minecraft (comme plein d'autres jeux d'ailleurs) possède une interface console dans laquelle on peut taper des commandes pour influencer le jeu; ça se présente comme une invite de commande "normale" de Windows, mais les commandes sont évidemment différentes...
0
CHEESE!
 
oui je le sait bien mais pour vb cpareil non ?
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
Non, VB n'a pas forcément une interface console; les applis GUI (Windows Forms) n'en ont pas. Mais on peut en créer une.
0
CHEESE!
 
re ! g ecrit

myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.RedirectStandardInput = True
StreamWriter myStreamWriter = myProcess.StandardInput
myStreamWriter.WriteLine("/reload")

comme tu m' a dit mais il y a plusieurs erreurs : " 'myProcess' n' est pas déclaré. il peut etre inaccessible en raison de son niveau de protection. " et " 'myStreamWriter' n' est pas déclaré. il peut etre inaccessible en raison de son niveau de protection. "
0
MrYAU31 Messages postés 3808 Date d'inscription   Statut Membre Dernière intervention   1 615
 
0
CHEESE! Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de ta réponse très rapide.

Je suis débutant et je ne comprends pas toutes ces lignes... ou est-ce que j' entre la commande /reload et comment sait-t-il de quel fichier il s' agit ?
0

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

Posez votre question
CHEESE! Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
et dans

Dim myProcess As New Process()
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.FileName = "C:\Users\*****\Desktop\Serveur\Run.bat"
myProcess.StartInfo.CreateNoWindow = True
myProcess.Start()

Je l' écrit ou la commande de la console ?
0
MrYAU31 Messages postés 3808 Date d'inscription   Statut Membre Dernière intervention   1 615
 
De quelle commande parles-tu ?
Si tu as des paramètres à passer à ton Run.bat, ce sera sur la même ligne.
Exemple : myProcess.StartInfo.FileName = "C:\Users\*****\Desktop\Serveur\Run.bat -paramètre"
Désolé, je touche un peu à VB.NET mais pas à Minecraft...
0
CHEESE! Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
je voudrait faire l' équivalent de l' insertion d' une commande dans la console et apuyer sur entrer
0
MrYAU31 Messages postés 3808 Date d'inscription   Statut Membre Dernière intervention   1 615
 
C'est bien dans myProcess.StartInfo.FileName dans ce cas.
Tu écris ce que tu tapes dans une invite de commandes ;-)
0
CHEESE! Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
mais dans myProcess.StartInfo.FileName ce n' est pas le chemin du fichier .bat qu'il faut mettre ?
0
MrYAU31 Messages postés 3808 Date d'inscription   Statut Membre Dernière intervention   1 615
 
C'est ce que dit Microsoft mas en fait, il sagit de ce que tu écris dans ta ligne cmd ;-)
0
CHEESE! Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
mais de maniere générale pour les commendes on écrit quoi ou ?
-1