 |
Глобальная горячая клавиша - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
12.10.2012, 16:53
|
#16
|
|
|
|
|
|
Разведчик
|
 Регистрация: 08.04.2011
 Сообщений: 13
 Популярность: 188
 Сказал(а) спасибо: 3
Поблагодарили 9 раз(а) в 2 сообщениях
|
Re: Глобальная горячая клавиша
после procedure TForm1.WMHotKey(var Msg: TWMHotKey);
вставь button2.click;
у тебя он на кнопку не нажимает
|
|
|
|
15.10.2012, 12:42
|
#17
|
|
|
|
|
|
Разведчик
|
 Регистрация: 12.10.2012
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Глобальная горячая клавиша
всем спасибо за помощь, все получилось, но возник следующий вопрос возможно ли изменять значение
здесь
keybd_event('3'), MapVirtualKey(ord('[COLOR="rgb('3'), 0), 0, 0);
keybd_event(ord('3'), 0, KEYEVENTF_KEYUP, 0)
с помощью переменных заданными edit или же listbox ?
|
|
|
|
15.10.2012, 16:12
|
#18
|
|
|
|
|
|
Пехотинец
|
 Регистрация: 20.12.2010
 Сообщений: 58
 Популярность: 50
 Сказал(а) спасибо: 22
Поблагодарили 36 раз(а) в 15 сообщениях
|
Re: Глобальная горячая клавиша
Dopstatus,
Код:
keybd_event(edit1.text[1]), MapVirtualKey(ord((edit1.text[1]), 0), 0, 0);
keybd_event(ord(edit1.text[1]), 0, KEYEVENTF_KEYUP, 0)
|
|
|
|
16.10.2012, 10:47
|
#19
|
|
|
|
|
|
Разведчик
|
 Регистрация: 12.10.2012
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Глобальная горячая клавиша
спасибо большое, но проблема в том что у меня не получается именно что бы 1 поле и f1 клацало и просто 1
|
|
|
|
16.10.2012, 18:43
|
#20
|
|
|
|
|
|
Разведчик
|
 Регистрация: 23.06.2012
 Сообщений: 43
 Популярность: 427
 Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
|
Re: Глобальная горячая клавиша
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
|
|
ну так...что у кого могут быть какие идеи, почему не работают горячие клавиши ?
|
|
 |
|
 |
|
Попробуй так:
все также как в сообщении Zo_Om4eG, единственное измени так:
Код:
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
ShowMessage('Alt+F1 нажата'); // тогда выводим сообщение
end;
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
|
|
проблема в том что у меня не получается именно что бы 1 поле и f1 клацало и просто 1
|
|
 |
|
 |
|
Попробуй нажимать так:
Код:
SendMessage(HWND, WM_KEYDOWN, $31, 0);
SendMessage(HWND, WM_KEYUP,$31, 0);
Нажатие цифры 1, HWND - хэндл окна PW
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
|
|
циклы здесь нужны для таймеров
Добавлено через 3 минуты
плюс нафига столько таймеров если можно поставить всё один? это конечно если интервал у тебя один
|
|
 |
|
 |
|
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
|
|
а как ты по другому организуешь? кликание клавиш с разным интервалом и разными клавишами ?
|
|
 |
|
 |
|
Ребята, ребята, что же вы делаете, такое количество таймеров проц грузанет не хуже клиента PW.
Можно же просто ввести переменную и все например:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
CB1:=CB1+300;//переменная для Edit1
if CB1>=strtoint(Edit1.Text) then
begin
CB1:=0;
SendMessage(HWND, WM_KEYDOWN, $31, 0); //нажать цифру 1
SendMessage(HWND, WM_KEYUP,$31, 0);
end;
CB2:=CB2+300;//переменная для Edit2
if CB2>=strtoint(Edit2.Text) then
begin
CB2:=0;
SendMessage(HWND, WM_KEYDOWN, $35, 0); //нажать цифру 5
SendMessage(HWND, WM_KEYUP,$35, 0);
end;
end;
Тайминг таймера 300 мс.
так будет намного быстрее и ничего перегружаться не будет
Последний раз редактировалось fds255; 16.10.2012 в 19:18.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
[Прочее] Глобальная Раздача ключей CS:GO!
|
sdsadafgs |
Халява для Читера |
30 |
15.05.2012 16:33 |
|
[Помогите!] Wh клавиша
|
awanturist |
Общение и обсуждение Counter-Strike |
2 |
11.08.2011 15:01 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 10:22.
|
 |