Представляю Вам свою новую программу - SuperPad 2.0. Теперь сразу с исходниками и скриншотом. Прошу простить меня за то, что ранее проги были без сорцов. Все архивы запакованы в ZIP. Больше программ на сайте http://amsmyshliaev.narod.ru/progs.html, а исходники выложены на http://amsmyshliaev.narod.ru/Ishodniki.html. Скоро я на сайте также буду выкладывать проги, написанные мной на C#, C++, VB.NET.
»»» Скачать: исходные тексты (82кб) демонстрационный EXE файл (326кб) посмотреть скриншот
Включение и выключение устройств ввода/вывода из программы на 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.
Коментарий от "Dead Gamer" (DeadGamer@rambler.ru) Для блокировки я воспользовался следующим методом, Ну вот пример процедуры:
Использование Debug API: пример перехвата вызовов функций Win32 API
Я предпочитаю не писать сухие статьи с кучей теории. Поскольку я люблю читать работающий исходный код, то и здесь будет только исходный код. Все пояснения я буду вставлять прямо в исходник - в виде комментариев. Впрочем, не надейтесь, что вам будет достаточно выдрать отсюда исходник, и он скомпилится. :-) Это не потому, что я специально что-то скрыл, а потому, что я вырезал кучу вспомогательных процедур, которые каждый может написать сам. Если вы, все же, паталогически ленивы - скачайте архив с полными рабочими исходниками. Оттуда точно заработает.
Delphi: специальный справочник
В книге содержится обширный справочный материал по основным элементам языка, включающий в себя наиболее употребительные функции, классы и объекты. Последовательно и подробно изложен процесс создания баз данных, Windows-приложений и динамических библиотек. Приложения с описанием различных кодов ошибок выполнения программ делает книгу полезной не только начинающим программистам, но и пользователям, активно работающим с Delphi
Автор: Б. Карпов
Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.
Для души
Хокку дня
Пруд густ выдохами тумана зажелтели на кромке воды первые кораблики осени.
Афоризмы
Одалживая деньги честному человеку, помни: если он не умен, скорее всего, он их потеряет и не сможет вернуть...........
Фраза дня
Внедрить - внедрили, а вывнедрить - забыли
Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Хартфорде в Коннектикуте (США) запрещено переходить дорогу на руках.
В Бальтиморе (США) запрещается швырять копны сена со второго этажа.
И на закуску коротенький анекдот
- Мама, скажи: фунь. - Зачем? - Ну, скажи. - Да что это хоть такое? - Какая тебе разница, просто скажи: фунь! - Не буду я повторять глупости, которых не понимаю! - Вот и меня не заставляй английский учить!