Comment puis-je lancer une application en utilisant C #?
Exigences: Doit fonctionner sur Windows XP et Windows Vista .
J'ai vu un échantillon de l'échantillonneur de DinnerNow.net qui ne fonctionne que sous Windows Vista.
Comment puis-je lancer une application en utilisant C #?
Exigences: Doit fonctionner sur Windows XP et Windows Vista .
J'ai vu un échantillon de l'échantillonneur de DinnerNow.net qui ne fonctionne que sous Windows Vista.
Réponses:
Utilisez la System.Diagnostics.Process.Start()
méthode.
Consultez cet article pour savoir comment l'utiliser.
Process.Start("notepad", "readme.txt");
string winpath = Environment.GetEnvironmentVariable("windir");
string path = System.IO.Path.GetDirectoryName(
System.Windows.Forms.Application.ExecutablePath);
Process.Start(winpath + @"\Microsoft.NET\Framework\v1.0.3705\Installutil.exe",
path + "\\MyService.exe");
Voici un extrait de code utile:
using System.Diagnostics;
// Prepare the process to run
ProcessStartInfo start = new ProcessStartInfo();
// Enter in the command line arguments, everything you would enter after the executable name itself
start.Arguments = arguments;
// Enter the executable to run, including the complete path
start.FileName = ExeName;
// Do you want to show a console window?
start.WindowStyle = ProcessWindowStyle.Hidden;
start.CreateNoWindow = true;
int exitCode;
// Run the external process & wait for it to finish
using (Process proc = Process.Start(start))
{
proc.WaitForExit();
// Retrieve the app's exit code
exitCode = proc.ExitCode;
}
Il y a beaucoup plus que vous pouvez faire avec ces objets, vous devriez lire la documentation: ProcessStartInfo , Process .
PathTo*.exe
mais je ne m'attendrais pas à ce que cela fonctionne. (a) et s'il y a plusieurs correspondances? (b) J'espère que le code de Microsoft ne le permettrait pas, car ce serait une sécurité faible.
System.Diagnostics.Process.Start("PathToExe.exe");
Si vous rencontrez des problèmes lors de l'utilisation de System.Diagnostics comme je l'ai fait, utilisez le code simple suivant qui fonctionnera sans lui:
Process notePad = new Process();
notePad.StartInfo.FileName = "notepad.exe";
notePad.StartInfo.Arguments = "mytextfile.txt";
notePad.Start();
Process
est dans System.Diagnostics.
De plus, vous voudrez utiliser les variables d'environnement pour vos chemins si possible: http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows
PAR EXEMPLE
Il y en a beaucoup plus, consultez le lien pour une liste plus longue.
Placez simplement votre file.exe dans le dossier \ bin \ Debug et utilisez:
Process.Start("File.exe");
Essaye ça:
Process.Start("Location Of File.exe");
(Assurez-vous d'utiliser la bibliothèque System.Diagnostics)