![]() |
![]() |
Айра |
![]()
Сообщение
#1
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Привет!
Дано: программка дозвона которая очень неудобно появляется при нажатии Ctrl+F9.. думаю здесь меня все поймут)) Задача: переопределить в ней клавиши.. Решение: мне нужно было создать файл KEY.txt, где сделать запись вида: [KEY] VK_F9=код_переопределенной_клавиши_для_F9 .... MOD_K=код_переопределенной_клавиши_для_Ctrl т.е. для того чтобы поменять комбинация Ctrl+F9 на Shift+F9 я должна была ввести [KEY] VK_F9=0x74 ... MOD_K=0x0004 Я все сделала, Ctrl+F9 теперь полновластно принадлежит компилятору, вот только звонилка на вверенные ей клавиши не риагирует.. ![]() Может код клавиш не тот? и еще одна глупая мысль: а коды клавиш на всех клавиатурах одинаковые, просто у ноутбука кнопочек меньше.. ![]() Заранее спасибо за помощь! |
![]() ![]() |
Michael_Rybak |
![]()
Сообщение
#2
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
|
andriano |
![]()
Сообщение
#3
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Для того, чтобы не ломать голову каждый раз, когда нужно узнать код той или иной клавиши, пользовался программой:
uses My_crt; My_crt - модуль, содержащий лишь readkey и keypressed. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Только какая связь между получаемыми тобой кодами и виртуальными кодами клавиш Windows, о которых идет речь (неужели ты не заметил VK_ ?) - совершенно непонятно...
|
Айра |
![]()
Сообщение
#5
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Попробовала поменять: возникла проблема с восприятием программой шестнадцатеричных значений, записанных буквами, как то 7А или 7B, пришлось использоваться кнопки только с циферным обозначением, и Shift прошел как 0x0004..
Всем спасибо ![]() Сообщение отредактировано: Айра - 10.12.2007 0:21 |
klem4 |
![]()
Сообщение
#6
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
andriano, ты уверен что такой программой ты сможешь определить код любой клавиши ? В часности со стрелками например у тебя ничего не получится. (это я про ДОС)
Сообщение отредактировано: klem4 - 10.12.2007 8:31 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
SKVOZNJAK |
![]()
Сообщение
#7
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: ![]() ![]() ![]() |
А может проще исходники компилятора изменить и скомпилировать.
|
andriano |
![]()
Сообщение
#8
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Только какая связь между получаемыми тобой кодами и виртуальными кодами клавиш Windows, о которых идет речь (неужели ты не заметил VK_ ?) - совершенно непонятно... Действительно не заметил. Смутила комбинация Ctrl+F9. В принципе не вижу ничего сложного в том, чтобы совершенно аналогичным образом получать номера клавиш в Винде. Добавлено через 3 мин. andriano, ты уверен что такой программой ты сможешь определить код любой клавиши ? В часности со стрелками например у тебя ничего не получится. (это я про ДОС) Ты будешь удивлен, но со стрелками как раз получается. Этим способом гн удастся "поймать" нажатия клавиш-модификаторов. Но они есть в области данных BIOS по смещениям $17 и $18(если мне не изменяет память). Если и этого мало, нужно писать обработчик препывания клавиатуры. |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 11:07 |