Application console et winforms simultanément

Le
LeXave
Bonjour,

Je suis actuellement en train de développer une petite moulinette en
C# qui va lire des données dans une base de données à partir d'un
fichier de configuration.

Ce que je souhaiterais : si l'utilisateur clique sur l'icone pour
lancer l'application, alors qu'une fenêtre s'ouvre pour lui permettre
de saisir les paramètres de l'extraction. Mais je souhaiterais aussi
que cet outil puisse lire ses paramètres à partir de la ligne de
commande pour pouvoir l'inclure dans un traitement batch, sans aucune
fenêtre.

Comment faire pour créer à la fois une application Console et Winforms
selon que le logiciel est lancé à la souris ou en ligne de commande ?

Merci par avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles TOURREAU
Le #12183221
Le Wed, 05 Sep 2007 14:00:47 +0200, LeXave
Bonjour,

Je suis actuellement en train de développer une petite moulinette en
C# qui va lire des données dans une base de données à partir d'un
fichier de configuration.

Ce que je souhaiterais : si l'utilisateur clique sur l'icone pour
lancer l'application, alors qu'une fenêtre s'ouvre pour lui permettre
de saisir les paramètres de l'extraction. Mais je souhaiterais aussi
que cet outil puisse lire ses paramètres à partir de la ligne de
commande pour pouvoir l'inclure dans un traitement batch, sans aucune
fenêtre.

Comment faire pour créer à la fois une application Console et Winforms
selon que le logiciel est lancé à la souris ou en ligne de commande ?

Merci par avance




Il faut que votre application soit de type application console.

Ensuite en fonction d'un paramètre de ligne de commande vous afficher ou
non votre IHM :

[DllImport("kernel32.dll")]
static IntPtr GetConsoleWindow();

[DllImport("user32.dll")]
static bool CloseWindow(IntPtr h);

[DllImport("kernel32.dll")]
static bool FreeConsole();

public static int Main(string[] args)
{
if (args[0] == "/IHM")
{
//Détruire la console
IntPtr h;

h = GetConsoleWindow();
CloseWindow(h);
FreeConsole();

//Afficher le fenêtre
Application.Run(...);
return 0;
}

//Ici on est en mode console...
Console.WriteLine("Que voulez-vous faire ?");
...
}

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Publicité
Poster une réponse
Anonyme