A voir également:
- Executer une commande cmd depuis visual basic express
- Cmd commande - Guide
- Visual basic - Télécharger - Langages
- Microsoft 365 basic - Accueil - Microsoft Office
- Commande terminal mac - Guide
- Microsoft visual c++ runtime - Guide
6 réponses
MrYAU31
Messages postés
3808
Date d'inscription
samedi 23 février 2013
Statut
Membre
Dernière intervention
8 juillet 2017
1 611
4 mai 2014 à 12:42
4 mai 2014 à 12:42
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()
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
4 mai 2014 à 22:39
4 mai 2014 à 22:39
'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
À 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.
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.
MrYAU31
Messages postés
3808
Date d'inscription
samedi 23 février 2013
Statut
Membre
Dernière intervention
8 juillet 2017
1 611
4 mai 2014 à 22:43
4 mai 2014 à 22:43
Voici la réponse d'un pro ;-)
Je ne connais pas Minecraft donc je n'aurais pas réussi à l'aider...
Je ne connais pas Minecraft donc je n'aurais pas réussi à l'aider...
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
4 mai 2014 à 22:45
4 mai 2014 à 22:45
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...
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
6 mai 2014 à 11:24
6 mai 2014 à 11:24
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.
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. "
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. "
MrYAU31
Messages postés
3808
Date d'inscription
samedi 23 février 2013
Statut
Membre
Dernière intervention
8 juillet 2017
1 611
4 mai 2014 à 12:32
4 mai 2014 à 12:32
Bonjour,
Ce que tu cherches est Process.Start()
https://docs.microsoft.com/fr-fr/dotnet/api/system.diagnostics.process?redirectedfrom=MSDN&view=netframework-4.8
Ce que tu cherches est Process.Start()
https://docs.microsoft.com/fr-fr/dotnet/api/system.diagnostics.process?redirectedfrom=MSDN&view=netframework-4.8
CHEESE!
Messages postés
36
Date d'inscription
mardi 25 février 2014
Statut
Membre
Dernière intervention
4 mai 2014
4 mai 2014 à 12:37
4 mai 2014 à 12:37
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 ?
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 ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
CHEESE!
Messages postés
36
Date d'inscription
mardi 25 février 2014
Statut
Membre
Dernière intervention
4 mai 2014
4 mai 2014 à 13:03
4 mai 2014 à 13:03
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 ?
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 ?
MrYAU31
Messages postés
3808
Date d'inscription
samedi 23 février 2013
Statut
Membre
Dernière intervention
8 juillet 2017
1 611
4 mai 2014 à 13:06
4 mai 2014 à 13:06
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...
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...
CHEESE!
Messages postés
36
Date d'inscription
mardi 25 février 2014
Statut
Membre
Dernière intervention
4 mai 2014
4 mai 2014 à 13:08
4 mai 2014 à 13:08
je voudrait faire l' équivalent de l' insertion d' une commande dans la console et apuyer sur entrer
MrYAU31
Messages postés
3808
Date d'inscription
samedi 23 février 2013
Statut
Membre
Dernière intervention
8 juillet 2017
1 611
4 mai 2014 à 13:10
4 mai 2014 à 13:10
C'est bien dans myProcess.StartInfo.FileName dans ce cas.
Tu écris ce que tu tapes dans une invite de commandes ;-)
Tu écris ce que tu tapes dans une invite de commandes ;-)
CHEESE!
Messages postés
36
Date d'inscription
mardi 25 février 2014
Statut
Membre
Dernière intervention
4 mai 2014
4 mai 2014 à 13:11
4 mai 2014 à 13:11
mais dans myProcess.StartInfo.FileName ce n' est pas le chemin du fichier .bat qu'il faut mettre ?
MrYAU31
Messages postés
3808
Date d'inscription
samedi 23 février 2013
Statut
Membre
Dernière intervention
8 juillet 2017
1 611
Modifié par MrYAU31 le 4/05/2014 à 13:13
Modifié par MrYAU31 le 4/05/2014 à 13:13
C'est ce que dit Microsoft mas en fait, il sagit de ce que tu écris dans ta ligne cmd ;-)
CHEESE!
Messages postés
36
Date d'inscription
mardi 25 février 2014
Statut
Membre
Dernière intervention
4 mai 2014
4 mai 2014 à 14:37
4 mai 2014 à 14:37
mais de maniere générale pour les commendes on écrit quoi ou ?