Créer une Console Application invisible en C#

Salut a tous, pour les besoins d’un projet je devais pouvoir rendre une fenêtre console invisible a l’utilisateur pour des questions d’ergonomie.

Voici donc un petit bout de code utilisant de l’interop user32 pour réaliser cela .

Voici donc les imports :

[DllImport(“user32.dll”)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

[DllImport(“user32.dll”)]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); 

FindWindow vas nous permettre d’obtenir un pointeur sur notre fenêtre, ShowWindow vas nous permettre d’activer ou désactiver la fenêtre.

On récupère donc un pointeur sur notre fenêtre avec en second argument le caption name, dans mon cas le path d’execution :

IntPtr hWnd = FindWindow(null, System.Windows.Forms.Application.ExecutablePath);

Ensuite on peut afficher la window avec 1 en second argument et le pointeur en premier :

if (hWnd != IntPtr.Zero)
{
ShowWindow(hWnd, 1);
}

Ou la render invisible avec 0 en second argument :

if (hWnd != IntPtr.Zero)
{
ShowWindow(hWnd, 0);
}

En espérant que cela vous sera utile ^^

Inform@tiquement
Istace Emmanuel

Published by Emmanuel Istace

Musician, Software developer and guitar instructor. https://emmanuelistace.be/

2 thoughts on “Créer une Console Application invisible en C#

  1. If some one wants to be updated with newest technologies after that he
    must be pay a visit this website and be up to date daily.

  2. Wow that was odd. I just wrote an extremely long comment but after I
    clicked submit my comment didn’t appear. Grrrr… well I’m not writing all that
    over again. Anyhow, just wanted to say superb blog!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: