Вверх ↑
Этот топик читают: Гость
Ответов: 1925
Рейтинг: 172
#1: 2010-08-09 13:34:13 ЛС | профиль | цитата
code_19897.txt

Должно при нажатии Shift+Ctrl+Alt+F12 выводить сообщение, но не выводит.
карма: 9
0
файлы: 1code_19897.txt [396B] [190]
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26066
Рейтинг: 2120
#2: 2010-08-09 13:58:35 ЛС | профиль | цитата
Ну и оригинальное подключение.

А вот так у меня работает
code_19899.txt
карма: 22

1
файлы: 1code_19899.txt [250B] [192]
Голосовали:3042
Ответов: 1925
Рейтинг: 172
#3: 2010-08-09 14:49:09 ЛС | профиль | цитата
Предполагается, что форма не будет видна и будет выходить при нажатии этих кнопок. И так тоже работает:

code_19901.txt

А почему первый мой способ не работает? Ведь если убрать Key, то просто сочетание Shift+Ctrl+Alt нормально работает:

code_19902.txt
карма: 9
0
файлы: 2code_19901.txt [245B] [175], code_19902.txt [388B] [166]
Разработчик
Ответов: 26066
Рейтинг: 2120
#4: 2010-08-09 14:52:16 ЛС | профиль | цитата
3042 писал(а):
А почему первый мой способ не работает? Ведь если убрать Key, то просто сочетание Shift+Ctrl+Atl нормально работает:

А потому, что код клавиши по-умолчанию сравнивается со значением верхней точки Key или значением из потока при неподключенной верхней точке Key, а состояние Shift, Ctrl и Alt отслеживается внутри компонента
3042 писал(а):
И так тоже работает

А почему он не должно работать, когда onKeyDown выдает код нажатой клавиши
карма: 22

0
Разработчик
Ответов: 4697
Рейтинг: 426
#5: 2010-08-09 15:07:01 ЛС | профиль | цитата
3042 писал(а):
А почему первый мой способ не работает? Ведь если убрать Key, то просто сочетание Shift+Ctrl+Alt нормально работает:

Кстати правда, я когда впервые искал компонент для проверки значения клавиши наткнулся на этот компонент первым и ожидал, что Key не берется из потока а проверяется в компоненте соответствующая по коду клавиша (опять логика ), может стоит привести компонент к логически правильной работе?
карма: 10
0
Разработчик
Ответов: 26066
Рейтинг: 2120
#6: 2010-08-09 15:16:15 ЛС | профиль | цитата
Assasin писал(а):
может стоит привести компонент к логически правильной работе?

И как ты собрался ее проверять, таскать с собой Hook.dll А как же схемы, где он нафиг не нужен, а код клавиши берется с формы

30424, а почему бы тебе не использовать GHotKey, ему не нужен, ни Hook.dll, ни событие клавиши
------------ Дoбавленo в 15.16:


Add(MainForm,2953706,35,105)
{
link(onCreate,13842337:doStartHotKey,[])
}
Add(GHotKey,13842337,91,119)
{
Alt=1
Ctrl=1
Shift=1
Key=123
link(onEventHotKey,16649630:doMessage,[])
}
Add(Message,16649630,147,119)
{
}

карма: 22

0
Администрация
Ответов: 15294
Рейтинг: 1518
#7: 2010-08-09 15:19:20 ЛС | профиль | цитата
компонент существует как универсальный для использования в следующих трех случаях:
code_19905.txt

предлагаемая "логически правильная работа" в случае 1 и 3 из примера выше ни к какой логике отношения иметь не будет.
карма: 26
0
файлы: 1code_19905.txt [340B] [256]
Разработчик
Ответов: 26066
Рейтинг: 2120
#8: 2010-08-09 15:27:44 ЛС | профиль | цитата
Dilma писал(а):
как универсальный для использования в следующих трех случаях

Четвертый случай, предложенный здесь (с KeyHook), тоже имеет право на жизнь, вот только Hook.dll таскать с собой -- не комильфо, как-то.
карма: 22

0
Администрация
Ответов: 15294
Рейтинг: 1518
#9: 2010-08-09 15:32:05 ЛС | профиль | цитата
да, верно
карма: 26
0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)