Nous avons du code qui fonctionne et c'est une application Win32 avec une interface graphique, mais j'aimerais pouvoir la déclencher à partir de la ligne de commande (mode silencieux). Y a-t-il un moyen facile de faire cela? Ou dois-je créer un autre projet en tant qu'application en ligne de commande?Est-il possible de faire fonctionner une ancienne application Win32 GUI à partir de la ligne de commande?
Répondre
Si vous souhaitez que l'application soit absolument invisible, c'est-à-dire qu'elle ne comporte aucune fenêtre, il vous suffit d'ignorer la partie de votre application qui crée la fenêtre principale. Une application de ligne de commande normale créera une fenêtre de console, qui clignotera sur l'écran lorsque l'application s'ouvrira et se fermera.
c:> notepad.exe
Cela répond à votre question?
Vous pouvez écrire une petite application qui démarre votre ancienne application graphique en respectant l'API Windows CreateProcess
. CreateProcess
a lpStartupInfo
paramètre du type STARTUPINFO
ou STARTUPINFOEX
. Si vous initialisez le champ wShowWindow
de ce STARTUPINFO
ou STARTUPINFOEX
à SW_HIDE
, alors les principales fenêtres d'application qui seront démarrées seront cachées. Vous devez également définir dwFlags
de STARTUPINFO
ou STARTUPINFOEX
, ce qui inclut le masque de bits STARTF_USESHOWWINDOW
.
Un tel petit programme démarrant un autre programme en mode caché peut également être utilisé pour démarrer une application console sans ouvrir une fenêtre de console bien connue.
Je pense que vous avez mal compris la question. Je ne veux pas simplement ouvrir l'application GUI à partir de la ligne de commande. Je veux être en mesure de lancer le programme en "mode silencieux" sans interface graphique. –