/******************************************************************************** * * * consoleapi3.h -- ApiSet Contract for api-ms-win-core-console-l3 * * * * Copyright (c) Microsoft Corporation. All rights reserved. * * * ********************************************************************************/ #ifdef _MSC_VER #pragma once #endif // _MSC_VER #ifndef _APISETCONSOLEL3_ #define _APISETCONSOLEL3_ #include #include #include #include #include #include #ifndef NOGDI #include #endif #ifdef __cplusplus extern "C" { #endif #pragma region Application Family or OneCore Family #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) WINBASEAPI BOOL WINAPI GetNumberOfConsoleMouseButtons( _Out_ LPDWORD lpNumberOfMouseButtons ); #if (_WIN32_WINNT >= 0x0500) WINBASEAPI COORD WINAPI GetConsoleFontSize( _In_ HANDLE hConsoleOutput, _In_ DWORD nFont ); WINBASEAPI BOOL WINAPI GetCurrentConsoleFont( _In_ HANDLE hConsoleOutput, _In_ BOOL bMaximumWindow, _Out_ PCONSOLE_FONT_INFO lpConsoleCurrentFont ); #ifndef NOGDI typedef struct _CONSOLE_FONT_INFOEX { ULONG cbSize; DWORD nFont; COORD dwFontSize; UINT FontFamily; UINT FontWeight; WCHAR FaceName[LF_FACESIZE]; } CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX; WINBASEAPI BOOL WINAPI GetCurrentConsoleFontEx( _In_ HANDLE hConsoleOutput, _In_ BOOL bMaximumWindow, _Out_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx ); WINBASEAPI BOOL WINAPI SetCurrentConsoleFontEx( _In_ HANDLE hConsoleOutput, _In_ BOOL bMaximumWindow, _In_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx ); #endif // // Selection flags // #define CONSOLE_NO_SELECTION 0x0000 #define CONSOLE_SELECTION_IN_PROGRESS 0x0001 // selection has begun #define CONSOLE_SELECTION_NOT_EMPTY 0x0002 // non-null select rectangle #define CONSOLE_MOUSE_SELECTION 0x0004 // selecting with mouse #define CONSOLE_MOUSE_DOWN 0x0008 // mouse is down typedef struct _CONSOLE_SELECTION_INFO { DWORD dwFlags; COORD dwSelectionAnchor; SMALL_RECT srSelection; } CONSOLE_SELECTION_INFO, *PCONSOLE_SELECTION_INFO; WINBASEAPI BOOL WINAPI GetConsoleSelectionInfo( _Out_ PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo ); // // History flags // #define HISTORY_NO_DUP_FLAG 0x1 typedef struct _CONSOLE_HISTORY_INFO { UINT cbSize; UINT HistoryBufferSize; UINT NumberOfHistoryBuffers; DWORD dwFlags; } CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO; WINBASEAPI BOOL WINAPI GetConsoleHistoryInfo( _Out_ PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo ); WINBASEAPI BOOL WINAPI SetConsoleHistoryInfo( _In_ PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo ); #define CONSOLE_FULLSCREEN 1 // fullscreen console #define CONSOLE_FULLSCREEN_HARDWARE 2 // console owns the hardware WINBASEAPI BOOL APIENTRY GetConsoleDisplayMode( _Out_ LPDWORD lpModeFlags ); #define CONSOLE_FULLSCREEN_MODE 1 #define CONSOLE_WINDOWED_MODE 2 WINBASEAPI BOOL APIENTRY SetConsoleDisplayMode( _In_ HANDLE hConsoleOutput, _In_ DWORD dwFlags, _Out_opt_ PCOORD lpNewScreenBufferDimensions ); WINBASEAPI HWND APIENTRY GetConsoleWindow( VOID ); #endif /* _WIN32_WINNT >= 0x0500 */ #if (_WIN32_WINNT >= 0x0501) WINBASEAPI BOOL APIENTRY AddConsoleAliasA( _In_ LPSTR Source, _In_ LPSTR Target, _In_ LPSTR ExeName ); WINBASEAPI BOOL APIENTRY AddConsoleAliasW( _In_ LPWSTR Source, _In_ LPWSTR Target, _In_ LPWSTR ExeName ); #ifdef UNICODE #define AddConsoleAlias AddConsoleAliasW #else #define AddConsoleAlias AddConsoleAliasA #endif // !UNICODE WINBASEAPI DWORD APIENTRY GetConsoleAliasA( _In_ LPSTR Source, _Out_writes_(TargetBufferLength) LPSTR TargetBuffer, _In_ DWORD TargetBufferLength, _In_ LPSTR ExeName ); WINBASEAPI DWORD APIENTRY GetConsoleAliasW( _In_ LPWSTR Source, _Out_writes_(TargetBufferLength) LPWSTR TargetBuffer, _In_ DWORD TargetBufferLength, _In_ LPWSTR ExeName ); #ifdef UNICODE #define GetConsoleAlias GetConsoleAliasW #else #define GetConsoleAlias GetConsoleAliasA #endif // !UNICODE WINBASEAPI DWORD APIENTRY GetConsoleAliasesLengthA( _In_ LPSTR ExeName ); WINBASEAPI DWORD APIENTRY GetConsoleAliasesLengthW( _In_ LPWSTR ExeName ); #ifdef UNICODE #define GetConsoleAliasesLength GetConsoleAliasesLengthW #else #define GetConsoleAliasesLength GetConsoleAliasesLengthA #endif // !UNICODE WINBASEAPI DWORD APIENTRY GetConsoleAliasExesLengthA( VOID ); WINBASEAPI DWORD APIENTRY GetConsoleAliasExesLengthW( VOID ); #ifdef UNICODE #define GetConsoleAliasExesLength GetConsoleAliasExesLengthW #else #define GetConsoleAliasExesLength GetConsoleAliasExesLengthA #endif // !UNICODE WINBASEAPI DWORD APIENTRY GetConsoleAliasesA( _Out_writes_(AliasBufferLength) LPSTR AliasBuffer, _In_ DWORD AliasBufferLength, _In_ LPSTR ExeName ); WINBASEAPI DWORD APIENTRY GetConsoleAliasesW( _Out_writes_(AliasBufferLength) LPWSTR AliasBuffer, _In_ DWORD AliasBufferLength, _In_ LPWSTR ExeName ); #ifdef UNICODE #define GetConsoleAliases GetConsoleAliasesW #else #define GetConsoleAliases GetConsoleAliasesA #endif // !UNICODE WINBASEAPI DWORD APIENTRY GetConsoleAliasExesA( _Out_writes_(ExeNameBufferLength) LPSTR ExeNameBuffer, _In_ DWORD ExeNameBufferLength ); WINBASEAPI DWORD APIENTRY GetConsoleAliasExesW( _Out_writes_(ExeNameBufferLength) LPWSTR ExeNameBuffer, _In_ DWORD ExeNameBufferLength ); #ifdef UNICODE #define GetConsoleAliasExes GetConsoleAliasExesW #else #define GetConsoleAliasExes GetConsoleAliasExesA #endif // !UNICODE #endif /* _WIN32_WINNT >= 0x0501 */ WINBASEAPI VOID APIENTRY ExpungeConsoleCommandHistoryA( _In_ LPSTR ExeName ); WINBASEAPI VOID APIENTRY ExpungeConsoleCommandHistoryW( _In_ LPWSTR ExeName ); #ifdef UNICODE #define ExpungeConsoleCommandHistory ExpungeConsoleCommandHistoryW #else #define ExpungeConsoleCommandHistory ExpungeConsoleCommandHistoryA #endif // !UNICODE WINBASEAPI BOOL APIENTRY SetConsoleNumberOfCommandsA( _In_ DWORD Number, _In_ LPSTR ExeName ); WINBASEAPI BOOL APIENTRY SetConsoleNumberOfCommandsW( _In_ DWORD Number, _In_ LPWSTR ExeName ); #ifdef UNICODE #define SetConsoleNumberOfCommands SetConsoleNumberOfCommandsW #else #define SetConsoleNumberOfCommands SetConsoleNumberOfCommandsA #endif // !UNICODE WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryLengthA( _In_ LPSTR ExeName ); WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryLengthW( _In_ LPWSTR ExeName ); #ifdef UNICODE #define GetConsoleCommandHistoryLength GetConsoleCommandHistoryLengthW #else #define GetConsoleCommandHistoryLength GetConsoleCommandHistoryLengthA #endif // !UNICODE WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryA( _Out_writes_bytes_(CommandBufferLength) LPSTR Commands, _In_ DWORD CommandBufferLength, _In_ LPSTR ExeName ); WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryW( _Out_writes_bytes_(CommandBufferLength) LPWSTR Commands, _In_ DWORD CommandBufferLength, _In_ LPWSTR ExeName ); #ifdef UNICODE #define GetConsoleCommandHistory GetConsoleCommandHistoryW #else #define GetConsoleCommandHistory GetConsoleCommandHistoryA #endif // !UNICODE #if (_WIN32_WINNT >= 0x0501) WINBASEAPI DWORD APIENTRY GetConsoleProcessList( _Out_writes_(dwProcessCount) LPDWORD lpdwProcessList, _In_ DWORD dwProcessCount ); #endif /* _WIN32_WINNT >= 0x0501 */ #endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) #pragma endregion #ifdef __cplusplus } #endif #endif // _APISETCONSOLEL3_