сообщения от RegisterHotKey

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

сообщения от RegisterHotKey

Сообщение Space » 19.07.2009 (Вс) 23:08

При нажатии горячих клавиш приходит WM_HOTKEY, а что приходит при их отжатии (всех) - если форма не активна?

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: сообщения от RegisterHotKey

Сообщение JohnK » 20.07.2009 (Пн) 15:04

Не совсем понятен смысл слова "отжатие".
Ведь WM_HOTKEY генерируется именно при нажатии зарегистрированной hotkey, и помещается в очередь сообщений приложения.
Здесь важен модификатор MOD_NOREPEAT, если он был задействован при регистрации, то сообщение посылается только 1 раз при нажатии комбинации.
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: сообщения от RegisterHotKey

Сообщение Space » 20.07.2009 (Пн) 18:10

просто мне надо показать форму при WM_HOTKEY, и я не хочу, чтобы она получала нажатие этих клавиш (горячая комбинация). Поэтому и спрашиваю, есть ли сообщение при отжатии комбинации клавиш, чтобы показать форму после отжатия. Можно, конечно, сделать цикл ожидания отжатия, но это уже другой вопрос.

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: сообщения от RegisterHotKey

Сообщение JohnK » 20.07.2009 (Пн) 19:18

Явное противоречие:
просто мне надо показать форму при WM_HOTKEY

и
я не хочу, чтобы она получала нажатие этих клавиш


Если ты не хочешь использоывть hotkey, используй GetAsyncKeyState.
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: сообщения от RegisterHotKey

Сообщение Space » 20.07.2009 (Пн) 19:24

нет, ты что! На кой такой геморрой? Пляшем только от RegisterHotKey. В чём ты нашёл противоречие? Ну блин, ты зажимаешь Alt+Ctr+A - показывается форма и тут же она получает нажатие этих клавиш, т.к. показывается форма довольно быстро и скорее всего, ты ещё клавиши не отжал.

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: сообщения от RegisterHotKey

Сообщение JohnK » 20.07.2009 (Пн) 20:59

Здесь важен модификатор MOD_NOREPEAT, если он был задействован при регистрации, то сообщение посылается только 1 раз при нажатии комбинации.

Если не понимаешь вышеизложенное, используй банальную проверку. На свой вкус: или это будет флаг указывающий на видимость окна, и соответственно все остальные WM_HOTKEY сообщения игнорируй, то ли используй
Код: Выделить всё
if form.visible then ...
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: сообщения от RegisterHotKey

Сообщение Space » 20.07.2009 (Пн) 21:36

да нет. Это ты не понимаешь. Пришло сообщение WM_HOTKEY, я показал окно. Но контрол окна(получивший фокус) или само окно при KeyPreview=True продолжают получать уже прямые сообщения от клавиатуры, т.к. клавиши нажаты...

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: сообщения от RegisterHotKey

Сообщение JohnK » 21.07.2009 (Вт) 12:14

Скажи по-русски что ты хочешь?

P.S. У WM_HOTKEY нет такой возможности.
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: сообщения от RegisterHotKey

Сообщение Space » 21.07.2009 (Вт) 13:12

я по-русски сказал. Нужно только хотеть понять или уметь :) Какие сообщения ещё приходят от RegisterHotKey?

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: сообщения от RegisterHotKey

Сообщение JohnK » 21.07.2009 (Вт) 13:20

Какие сообщения ещё приходят от RegisterHotKey


От нее ничего не приходит, она вовращает не нулевое значение если удалось зарегистрировать hotkey
Последний раз редактировалось JohnK 21.07.2009 (Вт) 16:08, всего редактировалось 1 раз.
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: сообщения от RegisterHotKey

Сообщение Space » 21.07.2009 (Вт) 13:28

на этом форуме есть ещё кто-то, кроме JohnK? :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: сообщения от RegisterHotKey

Сообщение Хакер » 21.07.2009 (Вт) 13:29

Нет.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: сообщения от RegisterHotKey

Сообщение Space » 21.07.2009 (Вт) 13:29

ой, кто это?

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: сообщения от RegisterHotKey

Сообщение JohnK » 21.07.2009 (Вт) 13:54

Я так понимаю у тебя клавиши залипают... :lol: раз ты не можешь по-человечески нажать комбинацию hotkey.
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: сообщения от RegisterHotKey

Сообщение Space » 21.07.2009 (Вт) 13:57

я не для себя пишу прогу, а для таких как ты. Хакер, не увиливай от ответа :)

trash
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 113
Зарегистрирован: 28.01.2009 (Ср) 12:09

Re: сообщения от RegisterHotKey

Сообщение trash » 21.07.2009 (Вт) 15:11

Space, при WM_HOTKEY переключай какой-нибудь глобальный флажок в true, а при WM_KEYUP проверяй что отжалось и в каком состоянии флажок.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: сообщения от RegisterHotKey

Сообщение Space » 21.07.2009 (Вт) 15:32

я уже писал про общую процедуру проверки отжатия. Это запасной вариант. Тут может кто-нить ответить на простой вопрос, какие ещё сообщения шлёт RegisterHotKey?

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: сообщения от RegisterHotKey

Сообщение JohnK » 21.07.2009 (Вт) 16:06

Если ты такой понятливый, кури инструкцию Инструкция
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 87

    TopList