Функция возвращает новое значение для указателя, передвинутое вперед по строке на одни символ:
LPSTR WINAPI AnsiNext(LPCSTR lpchCurrentChar);
Параметр функции указывает на текущий символ. Возвращаемое значение является указателем на следующий символ в строке или на закрывающий строку двоичный ноль.
Функция AnsiPrev выполняет передвижение указателя в направлении к началу строки:
LPSTR WINAPI AnsiPrev(LPCSTR lpchStart, LPCSTR lpchCurrentChar);
Первый параметр функции указывает на начало строки (на первый символ строки). Второй параметр - указатель на текущий символ. Функция возвращает значение указателя, соответствующее предыдущему символу или первому символу в строке, если при продвижении достигнуто начало строки.
В составе программного интерфейса Windows имеются функции для преобразования символа ANSI в код виртуальной клавиши (VkKeyScan) или в соответствующий OEM скан-код и состояние (OemKeyScan).
Функция VkKeyScan используется для преобразования кода символа ANSI в код и состояние виртуальной клавиши:
UINT WINAPI VkKeyScan(UINT uChar);
Параметр функции определяет символ ANSI, который будет преобразован в код виртуальной клавиши.
Младший байт возвращаемого значения содержит код виртуальной клавиши, старший - состояние клавиш сдвига (<Shift>, <Alt>, <Control>):
Значение | Описание |
1 | При выводе символа была нажата клавиша сдвига |
2 | Символ является управляющим |
3 - 5 | Данная комбинация клавиш сдвига не используется для представления символов |
6 | Символ образован при помощи комбинации клавиш <Control+Alt> |
7 | Символ образован при помощи комбинации клавиш <Shift+Control+Alt> |
Эта функция обычно используется приложениями, которые передают символы другим приложениям с помощью сообщений WM_KEYDOWN и WM_KEYUP (то есть симулируют ввод с клавиатуры).
Функция OemKeyScan преобразует символ OEM в скан-код и состояние для набора OEM:
DWORD WINAPI OemKeyScan(UINT uOemChar);
Параметр функции определяет символ OEM, который будет преобразован в скан-код.
Младшее слово возвращаемого значения содержит OEM скан-код для указанного символа.
Старшее слово указывает состояние клавиш сдвига для заданного символа. Если в этом слове установлен бит 1, нажата клавиша <Shift>, если бит 2 - клавиша <Control>.
Если преобразуемое значение не принадлежит к набору OEM, возвращается значение -1 (и в старшем, и в младшем слове).