Comment lancer un processus, tel que le lancement d'une URL lorsque l'utilisateur clique sur un bouton ?
Réponses
Trop de publicités?
Ravi Kumar G N
Points
107
Franci Penov
Points
45358
Utilisez le Processus classe. La documentation MSDN contient un exemple d'utilisation.
alireza amini
Points
5
Carla Jesus
Points
41
Déclarez ceci
[DllImport("user32")]
private static extern bool SetForegroundWindow(IntPtr hwnd);
[DllImport("user32")]
private static extern bool ShowWindowAsync(IntPtr hwnd, int a);
Et mettez ceci dans votre fonction (notez que "checkInstalled" est optionnel, mais si vous l'utilisez, vous devez l'implémenter)
if (ckeckInstalled("example"))
{
int count = Process.GetProcessesByName("example").Count();
if (count < 1)
Process.Start("example.exe");
else
{
var proc = Process.GetProcessesByName("example").FirstOrDefault();
if (proc != null && proc.MainWindowHandle != IntPtr.Zero)
{
SetForegroundWindow(proc.MainWindowHandle);
ShowWindowAsync(proc.MainWindowHandle, 3);
}
}
}
NOTE : Je ne suis pas sûr que cela fonctionne lorsque plus d'une instance du fichier .exe est en cours d'exécution.
Moon Waxing
Points
21
Si vous utilisez Windows
Process process = new Process();
process.StartInfo.FileName = "Test.txt";
process.Start();
Fonctionne pour .Net Framework mais pour Net core 3.1, il faut également définir UseShellExecute sur true.
Process process = new Process();
process.StartInfo.FileName = "Test.txt";
process.StartInfo.UseShellExecute = true;
process.Start();