Exécuter une commande de ligne

Messages postés
21
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
13 avril 2019
- - Dernière réponse : Whismeril
Messages postés
13132
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 avril 2019
- 28 mars 2019 à 17:50
Bonjour,

j'ai une interface qui affiche la date time .

je veux ajouter un code dans un bouton"Synchroniser" qui a comme rôle l'exécution de la ligne suivante:

net time \\AD /set


cette ligne je l'exécute sous cmd sur le poste en question manuellement pour pouvoir synchroniser la datetime du poste avec le serveur AD.


Afficher la suite 

Votre réponse

3 réponses

Messages postés
13132
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 avril 2019
354
0
Merci
Bonjour
Regarde du côté de la classe Process
Commenter la réponse de Whismeril
Messages postés
21
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
13 avril 2019
0
Merci
j'ai trouvé la solution

Process proc = new Process();

proc.StartInfo.FileName = "net";
proc.StartInfo.WorkingDirectory = Path.GetDirectoryName(Application.ExecutablePath);
proc.StartInfo.Arguments ="time \\AD /set";
proc.Start();


mon problème maintenant c'est de désactiver un textbox aucours de l'exécution de cette tache
et il sera active apres la fin de l'exécution
On oublie ce qu'on a appris, on n'oublie jamais ce qu'on a deviné.
Citation de Anne Barratin ; De toutes les paroisses (1913)
Commenter la réponse de maintenance_info
Messages postés
13132
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 avril 2019
354
0
Merci
Pour la coloration syntaxique, merci de lire ceci
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Quand à ta question, le problème c’est que tu lances un autre exe qui vit sa vie de son côté.
Si à la fin de son exécution le processus meure, alors la solution réside, à lançer un timer dans lequel tu vérifies les process en cours, dès que net.exe (je suppose) n’y est plus tu libères la textbox.

https://docs.microsoft.com/fr-fr/dotnet/api/system.diagnostics.process.getprocesses?view=netframework-4.7.2
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.