Exécuter une commande de ligne [Résolu]

Messages postés
36
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
13 juin 2019
- - Dernière réponse : Whismeril
Messages postés
13395
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 juin 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 

3 réponses

Messages postés
13395
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 juin 2019
279
0
Merci
Bonjour
Regarde du côté de la classe Process
Commenter la réponse de Whismeril
Messages postés
36
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
13 juin 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
13395
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 juin 2019
279
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