Быстрый поиск
Введите фрагмент названия статьи для поиска
CapsLock Killer 1.0
13.08.2009 | Категория: Мои программы | Автор: ManHunter
Скриншот программы CapsLock Killer
Программа предназначена для принудительного отключения клавиши CapsLock после нажатия, так что при активном CapsLock Killer клавиша CapsLock ведет себя как Shift. Программа была написана для личных нужд, когда мне надоело случайно попадать по кнопке CapsLock на своем ноутбуке. Во всяких интернетах для отключения клавиши CapsLock советуют разные радикальные методы вроде полной блокировки ее через реестр, установки монстрообразных менеджеров клавиатуры и прочие ужасы. CapsLock Killer не вносит в реестр никаких изменений, касающихся состояния управляющих клавиш, и может быть в любой момент отключен или удален без каких-либо последствий для системы. Управляется через иконку в трее или горячей клавишей Ctrl+Win+C, а через меню может добавляться в автозагрузку.
В программе использованы функции перехвата и обработки клавиатуры, поэтому некоторые "антивирусы" могут расценивать ее поведение как подозрительное. Я гарантирую, что никакого заведомо вредоносного кода CapsLock Killer не содержит.
Для оформления интерфейса программы использована картинка с сайта GarvGraphx.com, за что им большое спасибо.
Читать статью целиком »
Просмотров: 7447 | Комментариев: 17
ReadKey 1.0
02.04.2009 | Категория: Мои программы | Автор: ManHunter
Небольшая консольная программа для использования в пакетных файлах. Возвращает в %ERRORLEVEL% скан-код нажатой клавиши. Ее удобно применять, когда требуется запросить от пользователя какую-нибудь информацию, например подтверждение выбора Yes/No, букву диска, число от 0 до 9 и т.п. Для определения скан-кодов нужных вам клавиш в архиве прилагается файл scancodes.bat. Пример использования ReadKey:@echo off
echo Example of usage ReadKey 1.0
:loop
echo Press [Y]es or [N]o:
readkey.exe
if %errorlevel% == 78 goto _no
if %errorlevel% == 89 goto _yes
:_error
echo Invalid Key!
goto loop
:_yes
echo Your choice is YES
goto _exit
:_no
echo Your choice is NO
:_exit
pause
Этот же пример в файле usage.bat из архива. В этом пакетном файле пользователя просят выбрать "Y" или "N" и, в зависимости от выбора, управление передается на разные ветки алгоритма.
Читать статью целиком »
Просмотров: 5537 | Комментариев: 3
Разбор параметров командной строки
03.03.2009 | Категория: Образ мышления: Assembler | Автор: ManHunter
Наконец-то добрался до полезной практической задачи по корректному разбору параметров командной строки. На языках высокого уровня это делается чуть ли не одной командой, а на Ассемблере как обычно приходится все делать самостоятельно. Решение получилось универсальным, подходит как для консольных, так и для GUI-приложений. Для использования функции ParseCmdLine в сегменте данных надо предварительно определить следующую структуру:Code (Assembler) : Убрать нумерацию
- ; Структура для командной строки
- struct CMDLINE
- nCount dd ? ; Количество аргументов
- lpArgs dd ? ; Указатель на массив адресов строк
- lpArgStr dd ? ; Указатель на массив строк
- ends
Читать статью целиком »
Просмотров: 11939 | Комментариев: 16
Программное выключение монитора
08.02.2009 | Категория: Образ мышления: Assembler | Автор: ManHunter
Выключить монитор из программы можно, но только если он совместим со стандартом EnergyStar. Об этом можно не беспокоиться, все современные мониторы удовлетворяют этому условию. Беспокоиться надо о другом. По непонятной причине с сайта на сайт упорно копируют один и тот же код на разных языках программирования, который якобы должен выключить монитор. Вот его вариант на Ассемблере:Code (Assembler) : Убрать нумерацию
- ; ВНИМАНИЕ! Это НЕПРАВИЛЬНЫЙ код!!!
- invoke GetDesktopWindow
- invoke SendMessage, eax, WM_SYSCOMMAND, SC_MONITORPOWER, 0
Но хватит о грустном. Правильный код программного выключения монитора будет таким:
Code (Assembler) : Убрать нумерацию
- ;-------------------------------------------------
- ; Правильный код выключения монитора
- ;-------------------------------------------------
- ; В FASM не определена константа HWND_BROADCAST, сделаем это самостоятельно
- HWND_BROADCAST = 0FFFFh
- ; Выключить монитор
- invoke SendMessage, HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2
Читать статью целиком »
Просмотров: 14610 | Комментариев: 20
Apache Server Control 1.1a
23.01.2009 | Категория: Мои программы | Автор: ManHunter
Скриншот программы Apache Server Control
Еще одна программа, написанная для личных нужд. Apache Server Control позволяет управлять HTTP-сервером Apache версий 1.3.x под Windows: запускать, останавливать и перезапускать его службу. В дистрибутивах Apache 2.x аналогичная программа уже имеется. Кроме управления сервером вы можете редактировать файлы hosts и httpd.conf прямо в окне Apache Server Control. Программа должна находиться в одном каталоге с установленным Apache, тогда все пути к нужным файлам будут определены автоматически. Я использую Apache Server Control когда надо по-быстрому добавить локальный хост, прописать его во все настройки и перезапустить Apache. Может еще кому пригодится.
Читать статью целиком »
Просмотров: 5171 | Комментариев: 5