Input from keyboard using Native NT API - how to?
|
От: |
kpoxman
|
|
| Дата: | 09.05.06 10:27 |
|
Оценка: |
|
Добрый день!
Мое приложение использует Native NT API, для того, чтобы работать при загрузке
ОС в blue screen, как autochk.exe.
Как прочитать char с клавиатуры?
Я попробовал нижепреведенный кусок кода, однако, не помогло. При открытии файла
возвращается код ошибки Invalid Parameter.
UNICODE_STRING KeyboardName = RTL_CONSTANT_STRING(L"\\Device\\KeyboardClass0");
OBJECT_ATTRIBUTES ObjectAttributes;
IO_STATUS_BLOCK IoStatusBlock;
NTSTATUS Status;
InitializeObjectAttributes(&ObjectAttributes, &KeyboardName, 0, NULL, NULL);
Status = NtOpenFile(&StdInput, FILE_READ_ACCESS, &ObjectAttributes, &IoStatusBlock, 0, FILE_SYNCHRONOUS_IO_NONALERT);
{
IO_STATUS_BLOCK Iosb;
NTSTATUS Status;
KEYBOARD_INPUT_DATA InputData;
Status = NtReadFile(StdInput, NULL, NULL, NULL, &Iosb, &InputData, sizeof(KEYBOARD_INPUT_DATA), NULL, 0);
}
Пока на собственное сообщение не было ответов, его можно удалить.