本节将为大家讲解如何直接调用 Win32 函数在控制台输出,如 WriteConsole 和 WriteConsoleOutputCharacter。直接调用要求了解更多细节,但是它也提供了比 Irvine32 链接库过程更大的灵活性。
COORD STRUCT
X WORD ?
Y WORD ?
COORD ENDS
SMALL_RECT 结构包含的是矩形的左上角和右下角,它指定控制台窗口中的屏幕缓冲区字符单元格区域:
SMALL_RECT STRUCT
Left WORD ?
Top WORD ?
Right WORD ?
Bottom WORD ?
SMALL_RECT ENDS
WriteConsole 函数
函数 WriteConsole 在控制台窗口的当前光标所在位置写一个字符串,并将光标留着字符串末尾右边的字符位置上。它按照标准 ASCII 控制字符操作,比如制表符、回车和换行。
字符串不一定以空字节结束。函数原型如下:
WriteConsole PROTO,
hConsoleOutput:HANDLE,
lpBuffer:PTR BYTE,
nNumberOfCharsToWrite:DWORD,
lpNumberOfCharsWritten:PTR DWORD,
lpReserved:DWORD
hConsoleOutput 是控制台输出流句柄;lpBuffer 是输出字符数组的指针;nNumberOfCharsToWrite 是数组长度;lpNumberOfCharsWritten 是函数返回时实际输出字符数量的整数指针。最后一个参数未使用,因此将其设置为