В общем, открываю эту тему, так как она весьма наболевшая, и судя по форуму, не только для меня.
22.08.12 обновленияСразу предупреждаю что я не специалист в программировании и не несу ответственности за возможное непредсказуемое поведение своих программ. Вы используете их на свой страх и риск.Обновил проги: переименовал, назвал hkmacros - так как суть прог похожа на макросы автоматизации действий на компьютере.
На текущий момент их две:
hkmacros_shareenergy и
hkmacros_Esc_buildingПроги все еще консольные, работают глобально, могут работать вместе, то есть не влияют друг на друга, каждая запущенная прога добавляет в систему присущие ей макросы.
Инструкция к: hkmacros_shareenergyПрога пишет две строки: SHAREENERGY 1000 и SETSHAREENERGY 0
Каждой строке можно присвоить свой хоткей.
После того как прога запущена, хоткеи актевируються только если активна клавиша Caps Lock (еси лампочка горит).
Как пользоваться: нужно сделать ярлык экзэшника проги, и в его свойствах где записывается путь к файлу, дописать два числа, их нужно разделить пробелами между собой вот так:
Первая цифра это виртуальный код первой клавиши которая выводит +shareenergy 1000, второй определяет код для +setshareenergy 0
Виртуальный код клавиш записывается в десятичной системе и максимальное значение 254
значение больше вводить нельзяНо есть одна трудность, значения виртуальных клавиш в интернете (ну по крайней мере я так нашел) в шестнадцатеричной системе исчисления, а записывать в ярлык надо виртуальные коды клавиш в десятичной системе. Что делать:
Переводить числа в другие системы исчисления можно в калькуляторе виндовс. Он находится в
пуск\программы\стандартныеЕго нужно перевести в инженерный режим:
Нажимаем на режим
HEX:
Отсюда берем код клавиши:
Способ [bl]:
- Запускаем программу Таблица символов (Win+R -> charmap)
- По умолчанию там будет шрифт Arial, но это не важно
- Кликаем на символы 0..9 и A..Z (заглавные)
- Смотрим код кнопки внизу слева (например U+005A для кнопки Z, искомый код: 5A)
- Этот код шестнадцатиричный, его так же переводим через калькулятор в десятичную систему
- Для цифровых и символьных кнопок коды совпадают, для остальных - вероятно, что нет
Или интернет ресурс:
http://vsokovikov.narod.ru/New_MSDN_API ... y_code.htmЗатем вводим в калк:
Теперь переключаем калкуль в жежим
DEC, и число переводиться в десятичную систему:
Далее записываем это значение в ярлык:
Ну и таким же способом получаем второй хоткей и записываем его туда же через пробел.
После того как прога запущена появляется консоль программы, ее можно свернуть, пока она работает, глобальным образом перехватываются установленные хоткеи, и если хоткей нажат, путем эмуляции событий ввода клавиатуры, пишутся соответствующие строки. Закрытие консоли возвращает все на круги своя.
Инструкция к: hkmacros_Esc_buildingДанная прога, пытается решить проблему дефицита хоткеев на строительство
Уже играл с этой пирогой, ДаркВамп после игры сказал что никогда в своей жижни не видел стоко ЛЛТ
Кому интересно, вот реплэй:
http://www.sendspace.com/file/l3lgd4После того как прога запущена, хоткеи актевируються только если активна клавиша
Caps Lock (еси лампочка горит). Хоткеи до сих пор работают глобально и проге неважно что запущено, от функции GetDword наконец таки удалось избавиться благодаря неоценимой помощи со стороны
[bl], за сею помощь ему огромное спасибо, я сам болею за оптимизацию програм, рад что удалось зделать код оптимальнее по указке
[bl].
Как работают хоткеи, прога тупо нажимает мышкой по определенному месту на экране, хоткеи активируються через
Alt, я не нашол в тотале ни каких использующихся комбинаций с альтом, поэтому выбрал его в качестве селектора хоткеев. Таким образом чтобы выбрать кнопку меню построек, надо нажать комбинацию клавиш, например
Alt - Q - чтобы нажать на ту кнопку где обычно у кома соляр. Если нажать хоткей через
Alt - Ctrl - ..., то будет правое нажатие мышкой, это для от заказа в заводах. Вот расположение хоткеев:
Проги тетировались мной в системе
Windows XP SP2 , как в других системах работать будут предсказать не могу.
На данные проги могут ругаться антивирусы, особенно с про активной защитой, потому что в них использован механизм перехвата кнопок клавиатуры посредствам виндовс хуков (Windows Hook's), который часто используется для написания червей кейлогеров.