Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le comportement des fonctions de console de haut niveau est affecté par les modes d’entrée et de sortie de la console. Tous les modes d’entrée de console suivants sont activés pour la mémoire tampon d’entrée d’une console lors de la création d’une console :
- Mode d’entrée de ligne
- Mode d’entrée traité
- Mode d’entrée echo
Les deux modes de sortie de console suivants sont activés pour une mémoire tampon d’écran de console lors de sa création :
- Mode de sortie traité
- Habillage en mode sortie EOL
Les trois modes d’entrée, ainsi que le mode de sortie traité, sont conçus pour fonctionner ensemble. Il est préférable d’activer ou de désactiver tous ces modes en tant que groupe. Lorsque tous sont activés, l’application est dite en mode « cuit », ce qui signifie que la plupart du traitement est géré pour l’application. Lorsque toutes sont désactivées, l’application est en mode « brut », ce qui signifie que l’entrée n’est pas filtrée et que tout traitement est laissé à l’application.
Une application peut utiliser la fonction GetConsoleMode pour déterminer le mode actuel de la mémoire tampon d’entrée ou de la mémoire tampon d’écran d’une console. Vous pouvez activer ou désactiver l’un de ces modes à l’aide des valeurs suivantes dans la fonction SetConsoleMode . Notez que la définition du mode de sortie d’une mémoire tampon d’écran n’affecte pas le mode de sortie d’autres mémoires tampons d’écran.
Si le paramètre hConsoleHandle est un handle d’entrée, le mode peut être une ou plusieurs des valeurs suivantes. Lorsqu’une console est créée, tous les modes d’entrée, sauf ENABLE_WINDOW_INPUT et ENABLE_VIRTUAL_TERMINAL_INPUT sont activés par défaut.
| Valeur | Sens |
|---|---|
| ENABLE_ECHO_INPUT 0x0004 | Les caractères lus par la fonction ReadFile ou ReadConsole sont écrits dans la mémoire tampon d’écran active, car ils sont tapés dans la console. Ce mode ne peut être utilisé que si le mode ENABLE_LINE_INPUT est également activé. |
| ENABLE_INSERT_MODE 0x0020 | Lorsqu’il est activé, le texte entré dans une fenêtre de console est inséré à l’emplacement actuel du curseur et tout le texte suivant cet emplacement ne sera pas remplacé. En cas de désactivation, tout le texte suivant est remplacé. |
| ENABLE_LINE_INPUT 0x0002 | La fonction ReadFile ou ReadConsole retourne uniquement lorsqu’un caractère de retour chariot est lu. Si ce mode est désactivé, les fonctions retournent quand un ou plusieurs caractères sont disponibles. |
| ENABLE_MOUSE_INPUT 0x0010 | Si le pointeur de la souris se trouve dans les bordures de la fenêtre de console et que la fenêtre a le focus clavier, les événements de souris générés par le mouvement de la souris et les pressions sur les boutons sont placés dans la mémoire tampon d’entrée. Ces événements sont ignorés par ReadFile ou ReadConsole, même lorsque ce mode est activé. La fonction ReadConsoleInput peut être utilisée pour lire MOUSE_EVENT enregistrements d’entrée à partir de la mémoire tampon d’entrée. |
| ENABLE_PROCESSED_INPUT 0x0001 | Ctrl+C est traité par le système et n’est pas placé dans la mémoire tampon d’entrée. Si la mémoire tampon d’entrée est lue par ReadFile ou ReadConsole, d’autres clés de contrôle sont traitées par le système et ne sont pas retournées dans la mémoire tampon ReadFile ouReadConsole . Si le mode ENABLE_LINE_INPUT est également activé, le retour arrière, le retour chariot et les caractères de flux de ligne sont gérés par le système. |
| ENABLE_QUICK_EDIT_MODE 0x0040 | Cet indicateur permet à l’utilisateur d’utiliser la souris pour sélectionner et modifier du texte. Pour activer ce mode, utilisez ENABLE_QUICK_EDIT_MODE | ENABLE_EXTENDED_FLAGS. Pour désactiver ce mode, utilisez ENABLE_EXTENDED_FLAGS sans cet indicateur. |
| ENABLE_WINDOW_INPUT 0x0008 | Les interactions utilisateur qui modifient la taille de la mémoire tampon d’écran de la console sont signalées dans la mémoire tampon d’entrée de la console. Les informations relatives à ces événements peuvent être lues à partir de la mémoire tampon d’entrée par les applications à l’aide de la fonction ReadConsoleInput , mais pas par celles qui utilisent ReadFile ouReadConsole. |
| 0x0200 ENABLE_VIRTUAL_TERMINAL_INPUT | La définition de cet indicateur dirige le moteur de traitement de terminal virtuel pour convertir l’entrée utilisateur reçue par la fenêtre de console en séquences de terminal virtuel de console qui peuvent être récupérées par une application de prise en charge via des fonctions ReadFile ou ReadConsole. L’utilisation classique de cet indicateur est conçue conjointement avec ENABLE_VIRTUAL_TERMINAL_PROCESSING sur le handle de sortie pour se connecter à une application qui communique exclusivement via des séquences de terminal virtuel. |
Si le paramètre hConsoleHandle est un handle de mémoire tampon d’écran, le mode peut être une ou plusieurs des valeurs suivantes. Lorsqu’une mémoire tampon d’écran est créée, les deux modes de sortie sont activés par défaut.
| Valeur | Sens |
|---|---|
| ENABLE_PROCESSED_OUTPUT 0x0001 | Les caractères écrits par la fonction WriteFile ou WriteConsole ou échos par la fonction ReadFile ouReadConsole sont analysés pour les séquences de contrôle ASCII et l’action correcte est effectuée. Les caractères retour arrière, tabulation, cloche, retour chariot et saut de ligne sont traités. Elle doit être activée lors de l’utilisation de séquences de contrôle ou lorsque ENABLE_VIRTUAL_TERMINAL_PROCESSING est définie. |
| ENABLE_WRAP_AT_EOL_OUTPUT 0x0002 | Lors de l’écriture avec WriteFile ou WriteConsole ou en écho avec ReadFile ou ReadConsole, le curseur passe au début de la ligne suivante lorsqu’il atteint la fin de la ligne active. Cela entraîne le défilement automatique des lignes affichées dans la fenêtre de console lorsque le curseur avance au-delà de la dernière ligne de la fenêtre. Cela entraîne également le défilement du contenu de la mémoire tampon de l’écran de la console vers le haut (.. /ignorer la ligne supérieure de la mémoire tampon de l’écran de la console) lorsque le curseur avance au-delà de la dernière ligne de la mémoire tampon de l’écran de la console. Si ce mode est désactivé, le dernier caractère de la ligne est remplacé par les caractères suivants. |
| ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 | Lors de l’écriture avec WriteFile ou WriteConsole, les caractères sont analysés pour VT100 et des séquences de caractères de contrôle similaires qui contrôlent le déplacement du curseur, le mode couleur/police et d’autres opérations qui peuvent également être effectuées via les API console existantes. Pour plus d’informations, consultez Séquences de terminal virtuel de console. Vérifiez que ENABLE_PROCESSED_OUTPUT est défini lors de l’utilisation de cet indicateur. |
| DISABLE_NEWLINE_AUTO_RETURN 0x0008 | Lors de l’écriture avec WriteFile ou WriteConsole, cela ajoute un état supplémentaire à l’habillage de bout en ligne qui peut retarder le déplacement du curseur et les opérations de défilement de mémoire tampon. Normalement, lorsque ENABLE_WRAP_AT_EOL_OUTPUT est défini et que le texte atteint la fin de la ligne, le curseur se déplace immédiatement vers la ligne suivante et le contenu de la mémoire tampon fait défiler vers le haut d’une ligne. Contrairement à ce jeu d’indicateurs, le curseur ne passe pas à la ligne suivante et l’opération de défilement n’est pas effectuée. Le caractère écrit est imprimé à la position finale sur la ligne et le curseur reste au-dessus de ce caractère comme si ENABLE_WRAP_AT_EOL_OUTPUT était désactivé, mais le caractère imprimable suivant sera imprimé comme si ENABLE_WRAP_AT_EOL_OUTPUT est activé. Aucun remplacement n’aura lieu. Plus précisément, le curseur avance rapidement jusqu’à la ligne suivante, un défilement est effectué si nécessaire, le caractère est imprimé et le curseur avance une position supplémentaire. L’utilisation classique de cet indicateur est conçue conjointement avec le paramètre ENABLE_VIRTUAL_TERMINAL_PROCESSING pour mieux émuler un émulateur de terminal où écrire le caractère final sur l’écran (.. /dans le coin inférieur droit) sans déclencher un défilement immédiat est le comportement souhaité. |
| ENABLE_LVB_GRID_WORLDWIDE 0x0010 | Les API permettant d’écrire des attributs de caractère, notamment WriteConsoleOutput et WriteConsoleOutputAttribute , permettent d’utiliser des indicateurs à partir d’attributs de caractères pour ajuster la couleur du premier plan et de l’arrière-plan du texte. En outre, une plage d’indicateurs DBCS a été spécifiée avec le préfixe COMMON_LVB. Historiquement, ces indicateurs fonctionnent uniquement dans les pages de codes DBCS pour les langues chinoise, japonaise et coréenne. À l’exception des indicateurs d’octets de début et de fin, les indicateurs restants décrivant le dessin de trait et la vidéo inversée (.. /permuter les couleurs de premier plan et d’arrière-plan) peut être utile pour d’autres langages afin de mettre en évidence les parties de la sortie. La définition de cet indicateur de mode console permet d’utiliser ces attributs dans chaque page de codes de chaque langue. Il est désactivé par défaut pour maintenir la compatibilité avec les applications connues qui ont historiquement profité de la console ignorant ces indicateurs sur les machines non-CJK pour stocker des bits dans ces champs à des fins propres ou par accident. Notez que l’utilisation du mode ENABLE_VIRTUAL_TERMINAL_PROCESSING peut entraîner la définition d’indicateurs vidéo LVB et de grille inverse pendant que cet indicateur est toujours désactivé si l’application jointe demande une mise en ligne ou une vidéo inverse via des séquences de terminal virtuel console. |