Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 211


WINBASEAPI HANDLE WINAPI GetStdHandle(DWORD nStdHandle);

извлеченному в данном случае из файла winbase.h, мы видим, что для получения хэндла стандартного потока в консольной сессии мы в качестве аргумента функции должны указать номер того потока, хэндл которого нам нужен. Запоминать номера потоков не нужно, они опреде­лены в том же файле winbase.h как STD_INPUT_ HANDLE, STD_OUTPUT_HANDLE и STD_ERROR_HANDLE. При успешном завершении функция возвращает хэндл требующегося потока, в против­ном случае возвращаемое значение равно INVALID_HANDLE_VALUE.

Определив хэндл стандартного потока, можно попытаться вывести текст в окно консоли с помощью функции WriteConsoleQ:

WINBASEAPI BOOL WINAPI WriteConso!eA(HANDLE hConsoleOutput,

CONST VOID «IpBuffer,

DWORD nNumberOfCharsToWrite,

LPDWORD IpNumberOfCharsWritten,

LPVOID IpReserved); WINBASEAPI BOOL WINAPI WriteConsolcW(HANDLE hConsoleOutput,

CONST VOID "IpBufTer,

DWORD nNumberOfCharsToWrite,

LPDWORD IpNumberOfCharsWritten,

LPVOID IpReserved);

#ifdefUNICODE

#defme WritcConsole WriteConsoleW

#else

#defme WriteConsole WriteConsoleA

#endif// IUNICODE

Аргументами этой функции являются:

хэндл стандартного потока вывода;

указатель на выводимую строку;

длина выводимой строки в символах;

в указатель на двойное слово, в которое записывается действительное число выведенных символов;

253

указатель на двойное слово, зарезервированное для использования в дальнейшем, который должен быть равным NULL.

Строка выводится, начиная с текущей позиции курсора, при этом ис­пользуются текущие цветовые атрибуты текста и фона. Курсор устанав­ливается в позицию, следующую за последним символом строки.

В случае успешного завершения функция возвращает TRUE.

Для установки позиции курсора в консоли необходимо вызвать функ­цию SetConsoleCursorPositionQ, прототип которой можно найти в wincon.h:

WINBASEAPI BOOL WINAPI SetConsoleCursorPosition( HANDLE hConsoleOulput, COORD dwCursorPosition);

hConsoleOutput - это хэндл стандартного вывода консоли, а структура типа COORD, содержащая координаты новой позиции курсора, опреде­ляется в wincon.h следующим образом:




Начало  Назад  Вперед



Книжный магазин