Comment masquer une application win32 fenêtre?
Je veux lancer l'application en mode silencieux en passant un paramètre, sinon je vais montrer à la fenêtre.
Vous devez vous connecter pour publier un commentaire.
Je veux lancer l'application en mode silencieux en passant un paramètre, sinon je vais montrer à la fenêtre.
Vous devez vous connecter pour publier un commentaire.
ShowWindow(... SW_HIDE ...)
ne fonctionne pas?La meilleure pratique ici est de pas créer la fenêtre en premier lieu. Rien ne vous oblige à créer une fenêtre dans InitInstance. Mais si vous travaillez avec MFC, il est probable que beaucoup de votre application/domaine/de la logique métier est assis là, étroitement couplés à ceux des gestionnaires de messages MFC et ainsi de suite. Dans lequel cas, la fenêtre aurez besoin d'exister.
Si vous avez une MFC
CWnd
l'affichage puisCWnd::ShowWindow(SW_HIDE);
Si vous utilisez win32 puis
ShowWindow(hWnd, SW_HIDE);
D'autres choses que les gens font en fonction de vos objectifs
Eh bien, pour vous pouvez simplement décider de ne pas créer une fenêtre à tout si ce paramètre est transmis, sinon, vous pouvez essayer d'appeler ShowWindow, avec la poignée de la fenêtre de votre et avec les
SW_HIDE
paramètre, et de voir s'il ne le fait ce dont vous avez besoin.Une autre façon de cacher la fenêtre et de ne jamais l'avoir, mais encore de créer, c'est a choisi de ne jamais appeler
ShowWindow
avecSW_HIDE
sur elle, et de la créer avecCreateWindow
/CreateWindowEx
, et ne pas définir deWS_VISIBLE
drapeau dans ledwStyle
paramètre.Je pense que la meilleure solution sera pas la création de la fenêtre si pas nécessaire.
Jetez un oeil à la fonction principale et vous verrez le code qui crée la fenêtre.
Appelez-le seulement si vous voulez lancer la fenêtre.
créer la fenêtre, omettre l'indicateur WS_VISIBLE et ne pas appeler ShowWindow.
ou
Lorsque vous appelez showWindow(), ajouter SW_HIDE paramètre.