Exécuter une commande de ligne

Résolu
maintenance_info Messages postés 66 Date d'inscription lundi 5 juin 2017 Statut Membre Dernière intervention 3 janvier 2022 - 28 mars 2019 à 07:18
Whismeril Messages postés 18417 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 5 juin 2023 - 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.


3 réponses

maintenance_info Messages postés 66 Date d'inscription lundi 5 juin 2017 Statut Membre Dernière intervention 3 janvier 2022 1
Modifié le 28 mars 2019 à 12:01
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)
1
Whismeril Messages postés 18417 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 5 juin 2023 624
28 mars 2019 à 09:11
Bonjour
Regarde du côté de la classe Process
0
Whismeril Messages postés 18417 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 5 juin 2023 624
28 mars 2019 à 17:50
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
0