Application console fermeture et caché [Résolu]

Signaler
Messages postés
53
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
31 mars 2010
-
cs_coq
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour a vous tous,

Je cherche a fermer une application console en C# sous visual Studio 2005.
Je n'ai pas trouvé, je pensé que c'étais simple ?

Et je cherche également a lancer mon application console mais qu'elle ne soit pas apparante a l'écran.
J'ai vu pas de message mais sans réponse.
Est ce possible ? 
 
Merci d'avance pour vos réponses.

5 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
45
Bonjour,
Une application console se termine lorsque le code arrive à la fin du main.

<hr />
-My Blog-
Messages postés
53
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
31 mars 2010

Voici ce que j'utilise en espèrent que vous aidera comme moi.

[




DllImport
(

"user32.dll"
)]


public



static



extern



IntPtr
FindWindow(

string
lpClassName,

string
lpWindowName);[


DllImport
(

"user32.dll"
)]


static



extern



bool
ShowWindow(

IntPtr
hWnd,

int
nCmdShow);


//Cache l'application

public



static



void
setConsoleWindowVisibility(

bool
visible,

string
title){

 

//Sometimes System.Windows.Forms.Application.ExecutablePath works for the caption depending on the system you are running under.


IntPtr
hWnd = FindWindow(

null
, title);


if
(hWnd !=

IntPtr
.Zero)
{


if
(!visible)


//Hide the window

ShowWindow(hWnd, 0);

// 0 = SW_HIDE

else

//Show window again

ShowWindow(hWnd, 1);

//1 = SW_SHOWNORMA

}
}

//Dans la fonction main
/*Cache la fenêtre console */

Console.Title =
"Ma console";
setConsoleWindowVisibility(
false,
Console.Title);
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
80
Salut,

Si le but est de se détacher de la console, FreeConsole est sans doute plus indiqué qu'un parcours de la liste des fenêtres.
Si le but est de ne jamais avoir de console visible et donc la masquer dès le départ, pourquoi la demander en compilant pour un sous système console ? => passer de /target:exe à /target:winexe (voir Output type dans les propriétés du projet)

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
53
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
31 mars 2010

Bonjour coq(Admin CS),

Je n'avais pas fait attention a ta réponse.
Mon but est de ne jamais avoir de console visible et donc la masquer dès le départ.
Quel type de projet je dois choisir.
Peut tu m'expliquer la procedure.
Je suis sous visual Studio 2005.
Je suis dans Projet ->Propriétés de "Mon Projet"
Onglet Application ->
j'ai le nom de l'assembly
l'espace de nom par défaut
Et le type de sortie avec 3 choix possibles :
          -Application Console
         - Application Window
         - Bibliotheque de classe.
Que dois je choisir, actuellement j'ai application console.
Merci d'avance pour ton aide précieuse.
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
80
Salut,

Application Windows (winexe).

/*
coq
MVP Visual C#
CoqBlog
*/