Je n'arrive pas à trouver de réponse sur Google ou ici sur StackOverflow.
Comment démarrer un processus en arrière-plan (derrière la fenêtre active)? Par exemple, lorsque le processus démarre, il n'interrompt pas l'application actuelle que l'utilisateur utilise.
Le processus ne sortira pas devant l'application en cours, il commencera juste.
Voici ce que j'utilise:
Process.Start(Chrome.exe);
Chrome apparaît devant mon application lorsqu'elle est lancée. Comment faire démarrer en arrière-plan?
J'ai aussi essayé:
psi = new ProcessStartInfo ("Chrome.exe");
psi.UseShellExecute = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.WindowStyle = ProcessWindowStyle.Minimized;
Process.Start(psi);
Mais il n'y a aucune différence avec le précédent.
Merci.
Essaye ça:
Process p = new Process();
p.StartInfo = new ProcessStartInfo("Chrome.exe");
p.StartInfo.WorkingDirectory = @"C:\Program Files\Chrome";
p.StartInfo.CreateNoWindow = true;
p.Start();
De plus, si cela ne fonctionne pas, essayez d'ajouter
p.StartInfo.UseShellExecute = false;
Le code ci-dessous devrait faire ce dont vous avez besoin:
class Program
{
static void Main(string[] args)
{
var handle = Process.GetCurrentProcess().MainWindowHandle;
Process.Start("Chrome.exe").WaitForInputIdle();
SetForegroundWindow(handle.ToInt32());
Console.ReadLine();
}
[DllImport("User32.dll")]
public static extern Int32 SetForegroundWindow(int hWnd);
}