(1) La liste des commandes proviendra très probablement de n'importe quel exécutable trouvé dans votre% PATH%. Vous pouvez trouver votre liste en trouvant tous les fichiers exécutables .exe/.bat/other dans chaque dossier spécifié par% PATH%. Vous n'avez même pas besoin de savoir quelles applications sont disponibles, la méthode Process.Start les trouvera pour vous. (Voir ci-dessous)
(2) Vous pouvez exécuter un outil de ligne de commande par programme:
System.Diagnostics.Process.Start("notepad.exe"); // located using %PATH%
Pour capturer la sortie, vous devez rediriger comme ceci:
System.Diagnostics.ProcessStartInfo psi =
new System.Diagnostics.ProcessStartInfo(@"ipconfig");
psi.RedirectStandardOutput = true;
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;
System.Diagnostics.Process myProcess;
myProcess = System.Diagnostics.Process.Start(psi);
System.IO.StreamReader myOutput = myProcess.StandardOutput; // Capture output
myProcess.WaitForExit(2000);
if (myProcess.HasExited)
{
string output = myOutput.ReadToEnd();
Console.WriteLine(output);
}
(3) Probablement la même réponse que 1