Включение и выключение устройств ввода/вывода из программы на DelphiРешение для Delphi 1 Иногда может возникнуть необходимость в выключении на время устройств ввода - клавиатуры и мыши. Например, это неплохо сделать на время выполнения кода системы защиты от копирования, в играх, или в качестве "наказания" при запуске программы по истечению срока ее бесплатного использования ... . Однако наилучшее ее применение - отключение клавиатуры и мыши на время работы демонстрационки, основанной на воспроизведении записанных заранее перемещений мышки и клавиатурного ввода. Это элементарно сделать при помощи API: EnableHardwareInput(Enable:boolean): boolean; Enable - требуемое состояние устройств ввода (True - включены, false - выключены). Если ввод заблокирован, то его можно разблокировать вручную - нажать Ctrl+Alt+Del, при появлении меню "Завершение работы программы" ввод разблокируется. Еще раз подчеркиваю, что это работает только в 16-ти разрядной D1. Исследования в отладчике показали, что функция по сути ничего не делает, только устанавливает некий флаг в памяти, явно отвечающий за блокировку клавиатуры/мыши.
Решение для Delphi 2+ По сложно объяснимым причинам фирма Microsoft удалила функцию EnableHardwareInput из 32-рарядных реализаций Windows и, следовательно, EnableHardwareInput стала недоступной в D2+. Однако научные изыскания (в ядре Windows при помощи отладчика) помогли мне найти ее аналог. Он не документирован в справке Borland, но кажется есть в последнем MSDN Procedure BlockInput(ABlockInput : boolean); stdcall; external 'USER32.DLL'; Вызов данной функции c параметром true блокирует клавиатуру и мышь, с параметром false - разблокирует). Как и в случае с EnableHardwareInput блокировка снимается при нажатии Ctrl+Alt+Del.
Обзор Kylix. Работа с клиентскими наборами данных.
В данной части будет рассмотрено применение клиентских наборов данных в dbExpress. Согласно иерархии классов в Kylix к клиентским наборам данных относятся классы TSQLClientDataSet и TClientDataSet. Последний из них является частью технологии MIDAS. Так как на сегодняшний день поддержка данной технологии в Kylix до конца не реализована, то основное внимание мы уделим рассмотрению TSQLClientDataSet.
Piranha Group Home Site исходники для Delphi/Virtual Pascal. BZIP-компрессия, игрушка Lode Runner Xtreme, полезные модули, разные мелкие программки (внимание! сайт АНГЛОЯЗЫЧНЫЙ. русская версия готовится :-). обновляется ...
Хокку дня
Бывает день, Что наскучивший гость, — Все не уходит, все не кончается.
Афоризмы
Интуиция, как правило, человека подводит. Доказательством этому может служить рентабельность казино....
Фраза дня
Горе ты моё аутлуковое!
И на закуску коротенький анекдот
Лежат двое влюбленных в постели, утомленные первым бурным сексом. Она: - Милый, а ты помнишь, Когда мы с тобой познакомились? Он: - Погоди... ща отдышусь и пойду хистори в аське посмотрю
На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (delphi@mastak.com)