Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Application console et winforms simultanément

1 réponse
Avatar
LeXave
Bonjour,

Je suis actuellement en train de d=E9velopper une petite moulinette en
C# qui va lire des donn=E9es dans une base de donn=E9es =E0 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=EAtre s'ouvre pour lui permettre
de saisir les param=E8tres de l'extraction. Mais je souhaiterais aussi
que cet outil puisse lire ses param=E8tres =E0 partir de la ligne de
commande pour pouvoir l'inclure dans un traitement batch, sans aucune
fen=EAtre.

Comment faire pour cr=E9er =E0 la fois une application Console et Winforms
selon que le logiciel est lanc=E9 =E0 la souris ou en ligne de commande ?

Merci par avance

1 réponse

Avatar
Gilles TOURREAU
Le Wed, 05 Sep 2007 14:00:47 +0200, LeXave a écrit:

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