J'ai une application windows C++ natif qui lance deux processus enfants en utilisant le code suivant -Comment lancer l'application de la console à l'aide CreateProcess avec fenêtre principale Minimized
if (!CreateProcess(NULL, // No module name (use command line)
cmdLine, // szCmdline, // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
false, // Set handle inheritance to FALSE
CREATE_DEFAULT_ERROR_MODE | NORMAL_PRIORITY_CLASS // Process Create Flags
NULL, // Use parent's environment block
NULL, // workingDir, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi) // Pointer to PROCESS_INFORMATION structure
avec tous les paramètres dans le bloc STARTUPINFO 0. Cette de code fonctionne bien dans le lancement des processus. Cependant, j'ai besoin de pouvoir lancer les applications de la console Windows C++ avec leurs fenêtres minimisées.
Si j'ajoute CREATE_NO_WINDOW au processus Créer des indicateurs, je peux lancer les processus sans aucune fenêtre. Ce sera inacceptable.
Dans mes recherches, il ne semble pas y avoir un moyen d'obliger une application console à s'ouvrir dans un mode réduit. Est-ce correct?
Oui, je sais que je pourrais minimiser les fenêtres de l'application enfant à partir de leur propre processus, cependant, les autres programmeurs de l'équipe préfèrent ne pas le faire.
Cela ne fonctionne que sur les applications Windows natives, console pas des applications en mode. –
@Hans, vraiment? La documentation a un cas particulier pour les "processus GUI", alors quel est le cas général si les applications console ne sont pas supportées? :) –
Vous ne savez pas ce que vous demandez. La valeur est passée à WinMain, argument nCmdShow. Les applications en mode console n'ont pas de WinMain. De nombreuses applications GUI l'ignorent également. –