📄 wincon.pas
字号:
{$EXTERNALSYM GetNumberOfConsoleMouseButtons}
function SetConsoleMode(hConsoleHandle: HANDLE; dwMode: DWORD): BOOL; stdcall;
{$EXTERNALSYM SetConsoleMode}
function SetConsoleActiveScreenBuffer(hConsoleOutput: HANDLE): BOOL; stdcall;
{$EXTERNALSYM SetConsoleActiveScreenBuffer}
function FlushConsoleInputBuffer(hConsoleInput: HANDLE): BOOL; stdcall;
{$EXTERNALSYM FlushConsoleInputBuffer}
function SetConsoleScreenBufferSize(hConsoleOutput: HANDLE; dwSize: COORD): BOOL; stdcall;
{$EXTERNALSYM SetConsoleScreenBufferSize}
function SetConsoleCursorPosition(hConsoleOutput: HANDLE; dwCursorPosition: COORD): BOOL; stdcall;
{$EXTERNALSYM SetConsoleCursorPosition}
function SetConsoleCursorInfo(hConsoleOutput: HANDLE;
var lpConsoleCursorInfo: CONSOLE_CURSOR_INFO): BOOL; stdcall;
{$EXTERNALSYM SetConsoleCursorInfo}
function ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE;
const lpScrollRectangle: SMALL_RECT; lpClipRectangle: PSMALL_RECT;
dwDestinationOrigin: COORD; const lpFill: CHAR_INFO): BOOL; stdcall;
{$EXTERNALSYM ScrollConsoleScreenBufferA}
function ScrollConsoleScreenBufferW(hConsoleOutput: HANDLE;
const lpScrollRectangle: PSMALL_RECT; lpClipRectangle: PSMALL_RECT;
dwDestinationOrigin: COORD; const lpFill: CHAR_INFO): BOOL; stdcall;
{$EXTERNALSYM ScrollConsoleScreenBufferW}
{$IFDEF UNICODE}
function ScrollConsoleScreenBuffer(hConsoleOutput: HANDLE;
const lpScrollRectangle: PSMALL_RECT; lpClipRectangle: PSMALL_RECT;
dwDestinationOrigin: COORD; const lpFill: CHAR_INFO): BOOL; stdcall;
{$EXTERNALSYM ScrollConsoleScreenBuffer}
{$ELSE}
function ScrollConsoleScreenBuffer(hConsoleOutput: HANDLE;
const lpScrollRectangle: SMALL_RECT; lpClipRectangle: PSMALL_RECT;
dwDestinationOrigin: COORD; const lpFill: CHAR_INFO): BOOL; stdcall;
{$EXTERNALSYM ScrollConsoleScreenBuffer}
{$ENDIF}
function SetConsoleWindowInfo(hConsoleOutput: HANDLE; bAbsolute: BOOL;
const lpConsoleWindow: SMALL_RECT): BOOL; stdcall;
{$EXTERNALSYM SetConsoleWindowInfo}
function SetConsoleTextAttribute(hConsoleOutput: HANDLE; wAttributes: WORD): BOOL; stdcall;
{$EXTERNALSYM SetConsoleTextAttribute}
function SetConsoleCtrlHandler(HandlerRoutine: PHANDLER_ROUTINE; Add: BOOL): BOOL; stdcall;
{$EXTERNALSYM SetConsoleCtrlHandler}
function GenerateConsoleCtrlEvent(dwCtrlEvent: DWORD; dwProcessGroupId: DWORD): BOOL; stdcall;
{$EXTERNALSYM GenerateConsoleCtrlEvent}
function AllocConsole: BOOL; stdcall;
{$EXTERNALSYM AllocConsole}
function FreeConsole: BOOL; stdcall;
{$EXTERNALSYM FreeConsole}
function GetConsoleTitleA(lpConsoleTitle: LPSTR; nSize: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetConsoleTitleA}
function GetConsoleTitleW(lpConsoleTitle: LPWSTR; nSize: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetConsoleTitleW}
{$IFDEF UNICODE}
function GetConsoleTitle(lpConsoleTitle: LPWSTR; nSize: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetConsoleTitle}
{$ELSE}
function GetConsoleTitle(lpConsoleTitle: LPSTR; nSize: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetConsoleTitle}
{$ENDIF}
function SetConsoleTitleA(lpConsoleTitle: LPCSTR): BOOL; stdcall;
{$EXTERNALSYM SetConsoleTitleA}
function SetConsoleTitleW(lpConsoleTitle: LPCWSTR): BOOL; stdcall;
{$EXTERNALSYM SetConsoleTitleW}
{$IFDEF UNICODE}
function SetConsoleTitle(lpConsoleTitle: LPCWSTR): BOOL; stdcall;
{$EXTERNALSYM SetConsoleTitle}
{$ELSE}
function SetConsoleTitle(lpConsoleTitle: LPCSTR): BOOL; stdcall;
{$EXTERNALSYM SetConsoleTitle}
{$ENDIF}
function ReadConsoleA(hConsoleInput: HANDLE; lpBuffer: LPVOID;
nNumberOfCharsToRead: DWORD; var lpNumberOfCharsRead: DWORD;
lpReserved: LPVOID): BOOL; stdcall;
{$EXTERNALSYM ReadConsoleA}
function ReadConsoleW(hConsoleInput: HANDLE; lpBuffer: LPVOID;
nNumberOfCharsToRead: DWORD; var lpNumberOfCharsRead: DWORD;
lpReserved: LPVOID): BOOL; stdcall;
{$EXTERNALSYM ReadConsoleW}
{$IFDEF UNICODE}
function ReadConsole(hConsoleInput: HANDLE; lpBuffer: LPVOID;
nNumberOfCharsToRead: DWORD; var lpNumberOfCharsRead: DWORD;
lpReserved: LPVOID): BOOL; stdcall;
{$EXTERNALSYM ReadConsole}
{$ELSE}
function ReadConsole(hConsoleInput: HANDLE; lpBuffer: LPVOID;
nNumberOfCharsToRead: DWORD; var lpNumberOfCharsRead: DWORD;
lpReserved: LPVOID): BOOL; stdcall;
{$EXTERNALSYM ReadConsole}
{$ENDIF}
function WriteConsoleA(hConsoleOutput: HANDLE; lpBuffer: LPVOID;
nNumberOfCharsToWrite: DWORD; var lpNumberOfCharsWritten: DWORD;
lpReserved: LPVOID): BOOL; stdcall;
{$EXTERNALSYM WriteConsoleA}
function WriteConsoleW(hConsoleOutput: HANDLE; lpBuffer: LPVOID;
nNumberOfCharsToWrite: DWORD; var lpNumberOfCharsWritten: DWORD;
lpReserved: LPVOID): BOOL; stdcall;
{$EXTERNALSYM WriteConsoleW}
{$IFDEF UNICODE}
function WriteConsole(hConsoleOutput: HANDLE; lpBuffer: LPVOID;
nNumberOfCharsToWrite: DWORD; var lpNumberOfCharsWritten: DWORD;
lpReserved: LPVOID): BOOL; stdcall;
{$EXTERNALSYM WriteConsole}
{$ELSE}
function WriteConsole(hConsoleOutput: HANDLE; lpBuffer: LPVOID;
nNumberOfCharsToWrite: DWORD; var lpNumberOfCharsWritten: DWORD;
lpReserved: LPVOID): BOOL; stdcall;
{$EXTERNALSYM WriteConsole}
{$ENDIF}
const
CONSOLE_TEXTMODE_BUFFER = 1;
{$EXTERNALSYM CONSOLE_TEXTMODE_BUFFER}
function CreateConsoleScreenBuffer(dwDesiredAccess: DWORD; dwShareMode: DWORD;
lpSecurityAttributes: PSECURITY_ATTRIBUTES; dwFlags: DWORD;
lpScreenBufferData: LPVOID): HANDLE; stdcall;
{$EXTERNALSYM CreateConsoleScreenBuffer}
function GetConsoleCP: UINT; stdcall;
{$EXTERNALSYM GetConsoleCP}
function SetConsoleCP(wCodePageID: UINT): BOOL; stdcall;
{$EXTERNALSYM SetConsoleCP}
function GetConsoleOutputCP: UINT; stdcall;
{$EXTERNALSYM GetConsoleOutputCP}
function SetConsoleOutputCP(wCodePageID: UINT): BOOL; stdcall;
{$EXTERNALSYM SetConsoleOutputCP}
implementation
const
kernel32 = 'kernel32.dll';
function PeekConsoleInputA; external kernel32 name 'PeekConsoleInputA';
function PeekConsoleInputW; external kernel32 name 'PeekConsoleInputW';
{$IFDEF UNICODE}
function PeekConsoleInput; external kernel32 name 'PeekConsoleInputW';
{$ELSE}
function PeekConsoleInput; external kernel32 name 'PeekConsoleInputA';
{$ENDIF}
function ReadConsoleInputA; external kernel32 name 'ReadConsoleInputA';
function ReadConsoleInputW; external kernel32 name 'ReadConsoleInputW';
{$IFDEF UNICODE}
function ReadConsoleInput; external kernel32 name 'ReadConsoleInputW';
{$ELSE}
function ReadConsoleInput; external kernel32 name 'ReadConsoleInputA';
{$ENDIF}
function WriteConsoleInputA; external kernel32 name 'WriteConsoleInputA';
function WriteConsoleInputW; external kernel32 name 'WriteConsoleInputW';
{$IFDEF UNICODE}
function WriteConsoleInput; external kernel32 name 'WriteConsoleInputW';
{$ELSE}
function WriteConsoleInput; external kernel32 name 'WriteConsoleInputA';
{$ENDIF}
function ReadConsoleOutputA; external kernel32 name 'ReadConsoleOutputA';
function ReadConsoleOutputW; external kernel32 name 'ReadConsoleOutputW';
{$IFDEF UNICODE}
function ReadConsoleOutput; external kernel32 name 'ReadConsoleOutputW';
{$ELSE}
function ReadConsoleOutput; external kernel32 name 'ReadConsoleOutputA';
{$ENDIF}
function WriteConsoleOutputA; external kernel32 name 'WriteConsoleOutputA';
function WriteConsoleOutputW; external kernel32 name 'WriteConsoleOutputW';
{$IFDEF UNICODE}
function WriteConsoleOutput; external kernel32 name 'WriteConsoleOutputW';
{$ELSE}
function WriteConsoleOutput; external kernel32 name 'WriteConsoleOutputA';
{$ENDIF}
function ReadConsoleOutputCharacterA; external kernel32 name 'ReadConsoleOutputCharacterA';
function ReadConsoleOutputCharacterW; external kernel32 name 'ReadConsoleOutputCharacterW';
{$IFDEF UNICODE}
function ReadConsoleOutputCharacter; external kernel32 name 'ReadConsoleOutputCharacterW';
{$ELSE}
function ReadConsoleOutputCharacter; external kernel32 name 'ReadConsoleOutputCharacterA';
{$ENDIF}
function ReadConsoleOutputAttribute; external kernel32 name 'ReadConsoleOutputAttribute';
function WriteConsoleOutputCharacterA; external kernel32 name 'WriteConsoleOutputCharacterA';
function WriteConsoleOutputCharacterW; external kernel32 name 'WriteConsoleOutputCharacterW';
{$IFDEF UNICODE}
function WriteConsoleOutputCharacter; external kernel32 name 'WriteConsoleOutputCharacterW';
{$ELSE}
function WriteConsoleOutputCharacter; external kernel32 name 'WriteConsoleOutputCharacterA';
{$ENDIF}
function WriteConsoleOutputAttribute; external kernel32 name 'WriteConsoleOutputAttribute';
function FillConsoleOutputCharacterA; external kernel32 name 'FillConsoleOutputCharacterA';
function FillConsoleOutputCharacterW; external kernel32 name 'FillConsoleOutputCharacterW';
{$IFDEF UNICODE}
function FillConsoleOutputCharacter; external kernel32 name 'FillConsoleOutputCharacterW';
{$ELSE}
function FillConsoleOutputCharacter; external kernel32 name 'FillConsoleOutputCharacterA';
{$ENDIF}
function FillConsoleOutputAttribute; external kernel32 name 'FillConsoleOutputAttribute';
function GetConsoleMode; external kernel32 name 'GetConsoleMode';
function GetNumberOfConsoleInputEvents; external kernel32 name 'GetNumberOfConsoleInputEvents';
function GetConsoleScreenBufferInfo; external kernel32 name 'GetConsoleScreenBufferInfo';
function GetLargestConsoleWindowSize; external kernel32 name 'GetLargestConsoleWindowSize';
function GetConsoleCursorInfo; external kernel32 name 'GetConsoleCursorInfo';
function GetNumberOfConsoleMouseButtons; external kernel32 name 'GetNumberOfConsoleMouseButtons';
function SetConsoleMode; external kernel32 name 'SetConsoleMode';
function SetConsoleActiveScreenBuffer; external kernel32 name 'SetConsoleActiveScreenBuffer';
function FlushConsoleInputBuffer; external kernel32 name 'FlushConsoleInputBuffer';
function SetConsoleScreenBufferSize; external kernel32 name 'SetConsoleScreenBufferSize';
function SetConsoleCursorPosition; external kernel32 name 'SetConsoleCursorPosition';
function SetConsoleCursorInfo; external kernel32 name 'SetConsoleCursorInfo';
function ScrollConsoleScreenBufferA; external kernel32 name 'ScrollConsoleScreenBufferA';
function ScrollConsoleScreenBufferW; external kernel32 name 'ScrollConsoleScreenBufferW';
{$IFDEF UNICODE}
function ScrollConsoleScreenBuffer; external kernel32 name 'ScrollConsoleScreenBufferW';
{$ELSE}
function ScrollConsoleScreenBuffer; external kernel32 name 'ScrollConsoleScreenBufferA';
{$ENDIF}
function SetConsoleWindowInfo; external kernel32 name 'SetConsoleWindowInfo';
function SetConsoleTextAttribute; external kernel32 name 'SetConsoleTextAttribute';
function SetConsoleCtrlHandler; external kernel32 name 'SetConsoleCtrlHandler';
function GenerateConsoleCtrlEvent; external kernel32 name 'GenerateConsoleCtrlEvent';
function AllocConsole; external kernel32 name 'AllocConsole';
function FreeConsole; external kernel32 name 'FreeConsole';
function GetConsoleTitleA; external kernel32 name 'GetConsoleTitleA';
function GetConsoleTitleW; external kernel32 name 'GetConsoleTitleW';
{$IFDEF UNICODE}
function GetConsoleTitle; external kernel32 name 'GetConsoleTitleW';
{$ELSE}
function GetConsoleTitle; external kernel32 name 'GetConsoleTitleA';
{$ENDIF}
function SetConsoleTitleA; external kernel32 name 'SetConsoleTitleA';
function SetConsoleTitleW; external kernel32 name 'SetConsoleTitleW';
{$IFDEF UNICODE}
function SetConsoleTitle; external kernel32 name 'SetConsoleTitleW';
{$ELSE}
function SetConsoleTitle; external kernel32 name 'SetConsoleTitleA';
{$ENDIF}
function ReadConsoleA; external kernel32 name 'ReadConsoleA';
function ReadConsoleW; external kernel32 name 'ReadConsoleW';
{$IFDEF UNICODE}
function ReadConsole; external kernel32 name 'ReadConsoleW';
{$ELSE}
function ReadConsole; external kernel32 name 'ReadConsoleA';
{$ENDIF}
function WriteConsoleA; external kernel32 name 'WriteConsoleA';
function WriteConsoleW; external kernel32 name 'WriteConsoleW';
{$IFDEF UNICODE}
function WriteConsole; external kernel32 name 'WriteConsoleW';
{$ELSE}
function WriteConsole; external kernel32 name 'WriteConsoleA';
{$ENDIF}
function CreateConsoleScreenBuffer; external kernel32 name 'CreateConsoleScreenBuffer';
function GetConsoleCP; external kernel32 name 'GetConsoleCP';
function SetConsoleCP; external kernel32 name 'SetConsoleCP';
function GetConsoleOutputCP; external kernel32 name 'GetConsoleOutputCP';
function SetConsoleOutputCP; external kernel32 name 'SetConsoleOutputCP';
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -