Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A magas szintű konzolfüggvények viselkedését a konzol bemeneti és kimeneti módjai befolyásolják. A konzol létrehozásakor a következő konzolbemeneti módok mindegyike engedélyezve van a konzol bemeneti pufferéhez:
- Vonalbemeneti mód
- Feldolgozott beviteli mód
- Echo bemeneti mód
A következő konzolkimeneti módok mindegyike engedélyezve van a konzol képernyőpufferéhez a létrehozáskor:
- Feldolgozott kimeneti mód
- Körbefuttatás EOL kimeneti módban
Mind a három bemeneti mód, valamint a feldolgozott kimeneti mód, úgy vannak kialakítva, hogy együttműködjenek. A legjobb, ha csoportként engedélyezi vagy letiltja ezeket a módokat. Ha minden engedélyezve van, az alkalmazás "főtt" módban van, ami azt jelenti, hogy a feldolgozás nagy részét az alkalmazás kezeli. Ha minden le van tiltva, az alkalmazás "nyers" módban van, ami azt jelenti, hogy a bemenet szűretlen, és a feldolgozás az alkalmazásra marad.
Az alkalmazások a GetConsoleMode függvénnyel határozhatják meg a konzol bemeneti pufferének vagy képernyőpufferének aktuális módját. Ezen módok bármelyikét engedélyezheti vagy letilthatja a SetConsoleMode függvény alábbi értékeinek használatával. Vegye figyelembe, hogy az egyik képernyőpuffer kimeneti módjának beállítása nem befolyásolja a többi képernyőpuffer kimeneti módját.
Ha a hConsoleHandle paraméter egy bemeneti leíró, a mód az alábbi értékek közül egy vagy több lehet. A konzol létrehozásakor a ENABLE_WINDOW_INPUT és a ENABLE_VIRTUAL_TERMINAL_INPUT kivételével minden bemeneti mód alapértelmezés szerint engedélyezve van.
| Érték | Értelmezés |
|---|---|
| ENABLE_ECHO_INPUT 0x0004 | A ReadFile vagy a ReadConsole függvény által beolvasott karakterek az aktív képernyőpufferbe lesznek beírva, miközben be vannak írva a konzolba. Ez a mód csak akkor használható, ha a ENABLE_LINE_INPUT mód is engedélyezve van. |
| ENABLE_INSERT_MODE 0x0020 | Ha engedélyezve van, a konzolablakban megadott szöveg be lesz szúrva az aktuális kurzorhelyre, és az azt követő összes szöveg nem lesz felülírva. Ha le van tiltva, a program felülírja az összes következő szöveget. |
| ENABLE_LINE_INPUT 0x0002 | A ReadFile vagy a ReadConsole függvény csak kocsivissza karakter olvasása esetén ad vissza. Ha ez a mód le van tiltva, a függvények akkor térnek vissza, ha egy vagy több karakter áll rendelkezésre. |
| ENABLE_MOUSE_INPUT 0x0010 | Ha az egérmutató a konzolablak határain belül van, és az ablak a billentyűzetfókuszt használja, az egér mozgása és a gombnyomások által generált egéresemények a bemeneti pufferbe kerülnek. Ezeket az eseményeket a ReadFile vagy a ReadConsole elveti, még akkor is, ha ez a mód engedélyezve van. A ReadConsoleInput függvény MOUSE_EVENT bemeneti rekordok beolvasására használható a bemeneti pufferből. |
| ENABLE_PROCESSED_INPUT 0x0001 | A CTRL+C billentyűkombinációt a rendszer dolgozza fel, és nem helyezi el a bemeneti pufferben. Ha a bemeneti puffert a ReadFile vagy a ReadConsole olvassa be, a rendszer más vezérlőkulcsokat dolgoz fel, és nem adja vissza a ReadFile vagy a ReadConsole pufferben. Ha a ENABLE_LINE_INPUT mód is engedélyezve van, a rendszer kezeli a backspace, a kocsivissza és a vonalcsatorna karaktereit. |
| ENABLE_QUICK_EDIT_MODE 0x0040 | Ez a jelző lehetővé teszi, hogy a felhasználó az egérrel jelölje ki és szerkessze a szöveget. A mód engedélyezéséhez használja ENABLE_QUICK_EDIT_MODE | ENABLE_EXTENDED_FLAGSa következőt: . Ennek a módnak a letiltásához használja a ENABLE_EXTENDED_FLAGS a jelölő nélkül. |
| ENABLE_WINDOW_INPUT 0x0008 | A konzol képernyőpuffer méretét módosító felhasználói interakciók a konzol bemeneti pufferében jelennek meg. Ezekről az eseményekről információk olvashatók a bemeneti pufferből a ReadConsoleInput függvényt használó alkalmazások, de a ReadFile vagy a ReadConsole függvényt használó alkalmazások nem. |
| ENABLE_VIRTUAL_TERMINAL_INPUT 0x0200 | Ennek a jelzőnek a beállítása arra utasítja a Virtuális terminál feldolgozómotort, hogy a konzolablak által fogadott felhasználói bemenetet konzol virtuális terminálütemezésekké konvertálja, amelyeket egy támogató alkalmazás a ReadFile vagy a ReadConsole függvényeken keresztül lekérhet. Ennek a jelzőnek a tipikus használata a kimeneti leíró ENABLE_VIRTUAL_TERMINAL_PROCESSING együtt szolgál egy olyan alkalmazáshoz való csatlakozáshoz, amely kizárólag virtuális terminálütemezéseken keresztül kommunikál. |
Ha a hConsoleHandle paraméter egy képernyőpufferfogópont, a mód az alábbi értékek közül egy vagy több lehet. A képernyőpuffer létrehozásakor alapértelmezés szerint mindkét kimeneti mód engedélyezve van.
| Érték | Értelmezés |
|---|---|
| ENABLE_PROCESSED_OUTPUT 0x0001 | A WriteFile vagy a WriteConsole függvény által írt vagy a ReadFile vagy a ReadConsole függvény által visszhangzott karakterek asCII-vezérlősorozatokhoz vannak elemezve, és a megfelelő műveletet hajtja végre. A háttértér, a tabulátor, a harang, a kocsivissza és a vonalcsatorna karakterei feldolgozásra kerülnek. Vezérlőütemezések használatakor vagy ENABLE_VIRTUAL_TERMINAL_PROCESSING beállításakor engedélyezni kell. |
| ENABLE_WRAP_AT_EOL_OUTPUT 0x0002 | Amikor a WriteFile vagy a WriteConsole használatával ír, vagy a ReadFile vagy a ReadConsole használatával visszhangzik, a kurzor a következő sor elejére kerül, amikor eléri az aktuális sor végét. Ez azt eredményezi, hogy a konzolablakban megjelenő sorok automatikusan felgörgetnek, amikor a kurzor az ablak utolsó során túlra lép. Emellett a konzol képernyőpufferének tartalma felfelé görget (.). /elveti a konzol képernyőpufferének felső sorát), amikor a kurzor túllépi a konzol képernyőpufferének utolsó sorát. Ha ez a mód le van tiltva, a sor utolsó karaktere felülíródik a következő karakterekkel. |
| ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 |
A WriteFile vagy a WriteConsole használatával történő íráskor a rendszer a VT100 és hasonló vezérlőkarakterek esetében elemzi a karaktereket, amelyek szabályozzák a kurzor mozgását, a szín/betűmódot és a meglévő konzol API-kon keresztül is elvégezhető egyéb műveleteket. További információ: Konzolos virtuális terminálütemezések. Győződjön meg arról , hogy ENABLE_PROCESSED_OUTPUT be van állítva a jelölő használatakor. |
| DISABLE_NEWLINE_AUTO_RETURN 0x0008 |
A WriteFile vagy a WriteConsole használatával történő íráskor ez egy további állapotot ad hozzá a sorvégi körbefuttatáshoz, amely késleltetheti a kurzor áthelyezését és puffereli a görgetési műveleteket. Ha a ENABLE_WRAP_AT_EOL_OUTPUT be van állítva, és a szöveg eléri a sor végét, a kurzor azonnal a következő sorra kerül, és a puffer tartalma egy vonallal felgörget. Ezzel a jelzőkészlettel ellentétben a kurzor nem kerül a következő sorba, és a görgetési művelet nem lesz végrehajtva. Az írott karakter a sor utolsó helyén lesz kinyomtatva, és a kurzor a karakter fölött marad, mintha ENABLE_WRAP_AT_EOL_OUTPUT ki lett volna kapcsolva, de a következő nyomtatható karaktert úgy nyomtatja, mintha ENABLE_WRAP_AT_EOL_OUTPUT be van kapcsolva. Nem történik felülírás. Pontosabban a kurzor gyorsan lefelé halad a következő sorra, szükség esetén görgetést hajt végre, kinyomtatja a karaktert, és a kurzor még egy pozíciót előrelép. Ennek a jelzőnek a tipikus használata a ENABLE_VIRTUAL_TERMINAL_PROCESSING beállításával együtt szolgál, hogy jobban emuláljon egy terminálemulátort, ahol a végső karaktert a képernyőn (.) írja. /a jobb alsó sarokban) anélkül, hogy azonnali görgetést indítanának el, a kívánt viselkedés. |
| ENABLE_LVB_GRID_WORLDWIDE 0x0010 | Az olyan karakterattribútumok írására szolgáló API-k, mint a WriteConsoleOutput és a WriteConsoleOutputAttribute , lehetővé teszik a karakterattribútumok jelzőinek használatát a szöveg előterének és hátterének színének módosításához. Emellett a dbCS-jelzők tartománya is meg lett adva a COMMON_LVB előtaggal. Ezek a jelzők korábban csak a kínai, japán és koreai nyelvű DBCS-kódlapokon működtek. A kezdő bájtok és a záró bájtjelzők kivételével a sorrajzot és a fordított videót (.) leíró többi jelző. A /swap előtér- és háttérszínek) más nyelvek esetében is hasznosak lehetnek a kimenet egyes részeinek kiemeléséhez. A konzol módjelző beállítása lehetővé teszi, hogy ezek az attribútumok minden kódlapon használhatók legyenek minden nyelven. Alapértelmezés szerint ki van kapcsolva az olyan ismert alkalmazásokkal való kompatibilitás fenntartása, amelyek korábban kihasználták a konzol azon előnyeit, hogy figyelmen kívül hagyják ezeket a jelzőket a nem CJK-gépeken, hogy biteket tároljanak ezekben a mezőkben saját célra vagy véletlenül. Vegye figyelembe, hogy a ENABLE_VIRTUAL_TERMINAL_PROCESSING mód használata esetén LVB rács és fordított videojelzők állíthatók be, miközben ez a jelölő továbbra is ki van kapcsolva, ha a csatolt alkalmazás aláhúzást vagy inverz videót kér a konzol virtuális terminálütemezéseken keresztül. |