Здравствуйте, уважаемые подписчики. Перед вами очередной выпуск рассылки "WinAPI
на русском".
Сайт рассылки: http://www.bcbdev.ru. Материалы по Win32 API, C++Builder.
Раздел "WinAPI": http://www.bcbdev.ru/winapi.htm
Раздел "C++Builder": http://www.bcbdev.ru/cbuilder.htm
Раздел "Примеры кода": http://www.bcbdev.ru/codesamples.htm
Обновления на сайте
Нет.
Перевод
Сегодня вашему вниманию представлен перевод функции BlockInput.
BlockInput
Функция BlockInput блокирует поступление событий ввода мыши и клавиатуры в приложение.
BOOL BlockInput(
BOOL fBlockIt
);
Параметры
HTML версия: (Если не введена, то автоматически строится из текстовой) Расставить
ссылки Окончание к названию рассылки: (неоfBlockIt – определяет назначение функции.
Если значение этого параметра равно TRUE – события мыши и клавиатуры заблокированы.
Если значение этого параметра равно FALSE ? события мыши и клавиатуры разблокированы.
Обратите внимание, что только тот поток, который заблокировал ввод, может успешно
его разблокировать.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
Если ввод уже заблокирован, возвращается нуль. Для получения дополнительной информации
об ошибке вызовите функцию GetLastError.
Комментарии
Когда ввод заблокирован, действительный физический ввод с клавиатуры или мыши
не будет воздействовать ни на синхронное состояние клавиши очереди ввода (возвращаемое
GetKeyState и GetKeyboardState), ни на асинхронное состояние клавиши (возвращаемое
GetAsyncKeyState). Тем не менее, поток, заблокировавший ввод, может воздействовать
на оба этих состояния клавиши, вызывая функцию SendInput. Никакой другой поток
сделать этого не в состоянии.
Система будет разблокировать ввод в следующих случаях:
Поток, заблокировавший ввод, неожиданно завершается без вызова BlockInput со
значением fBlock, установленным в FALSE. В этом случае система возобновляет ввод.
Windows 95/98/Me: система отображает диалоговое окно закрытия программы или диалоговое
окно сбоя в программе. Это может произойти, если в потоке происходит ошибка или
пользователь нажимает CTRL+ALT+DEL.
Windows 2000/XP: пользователь нажимает CTRL+ALT+DEL, или система отображает модальное
диалоговое окно серьезной системной ошибки (Hard System Error) (например, когда
в программе возникает ошибка или возникает сбой в устройстве).
Требования
Библиотека импорта: User32.lib.
Минимальные ОС: Windows 98, Windows NT 2000.
См. также
GetAsyncKeyState, GetKeyboardState, GetKeyState, SendInput.
хелп по WinAPI: http://www.bcbdev.ru/winapi/win32api.exe
С уважением,
ведущий рассылки
Тарас Сорока.
mailto:tnsoroka@online.ru