|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
||||||
Отлов нажатия NumLock и управление им28.05.2012, 11:43. Показов 4645. Ответов 27
Метки нет (Все метки)
Здраствуйте! Недавно написал программу - калькулятор. Хотел осуществить включение\выключение по нажатию NumLock. Нашел даже какой-то
способ
Подскажите как осуществить такое, или где можно почитать?
0
|
||||||
| 28.05.2012, 11:43 | |
|
Ответы с готовыми решениями:
27
Отлов нажатия кнопки submit и блокировка последующего нажатия
Программное управление NumLock \ CapsLock \ Sroll Lock |
|
13 / 13 / 4
Регистрация: 14.04.2010
Сообщений: 52
|
|
| 28.05.2012, 14:08 | |
|
эм... Глупый вопрос, может, но это Windows Forms?..
0
|
|
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
|
| 28.05.2012, 14:09 [ТС] | |
|
Да, это WinForm.
0
|
|
|
13 / 13 / 4
Регистрация: 14.04.2010
Сообщений: 52
|
|
| 28.05.2012, 14:11 | |
|
Form Events => PreviewKeyDown..
e.Keys = Key.NumLock.. мб что-то такое будет)
0
|
|
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
|
| 28.05.2012, 14:13 [ТС] | |
|
Нет-нет вы не поняли. Отлавливать нажатие клавиши нужно независимо от отго, какя форма в данный момент активна. Например я работаю в Excel'e vyt понадобилось что-то посчитать. Я нажал NumLock - появился мой калькулятор, ввел выражение нажал Enter - он посчитал. Нажал NumLock ещё раз - калькулятор скрылся.
P.S. Нужно что-то вроде глобального хука клавиатуры.
0
|
|
|
Футболист
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
|
||||||
| 28.05.2012, 14:42 | ||||||
|
challenge accepted^^
Добавлено через 1 минуту Вот работающий пример, сам для себя делал, работает 100%, ща изменю что б ты понял, где что и как Добавлено через 1 минуту Код(Program.cs)
Добавлено через 56 секунд Сори что со не переделал, стало лень если еще не разобрался тут идет имитация нажатия сочетания клавиш(к примеру шифт+ф1)
1
|
||||||
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
|
| 28.05.2012, 14:42 [ТС] | |
|
Goal, Спасибо за пример, но не могли бы вы прокомментровать код, хоят ы в главных, основных местах?
0
|
|
|
Футболист
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
|
|
| 28.05.2012, 14:43 | |
|
я сейчас иду в футбол играть, вечером если подождеш, хорошо?
1
|
|
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
|
| 28.05.2012, 14:44 [ТС] | |
|
Хорошо, заранее спасибо! Удачной игры!
1
|
|
|
Футболист
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
|
|
| 28.05.2012, 14:45 | |
|
советую пока что почитать документацию в интернете о тех функциях, что находяться в DLL import.
1
|
|
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
|
| 28.05.2012, 14:46 [ТС] | |
|
Спасибо, почитаю.
0
|
|
|
Футболист
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
|
|||||||
| 28.05.2012, 15:03 | |||||||
|
Добавлено через 16 минут по сути, весь код вне метода HookCallback предназначен для правильного функционирования етого метода. соответственно. Метод
1
|
|||||||
|
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
|
||||||
| 28.05.2012, 18:39 | ||||||
|
Вот пример готовой программы для глобального хука Num Lock.
1
|
||||||
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
||||||
| 29.05.2012, 12:09 [ТС] | ||||||
|
Savvy, Спасибо. Работает, но в отдельном проекте. Как добавить это к совоему незнаю. Если вставлять это в Program.cs, то в методе Main не получается вызвать главную форму. Иначе же, незнаю как запустить Хук.
Добавлено через 11 минут Так'c разобрался куда вставить, теперь неполучается изменять состояние формы((( Вот код, посмотрите что не так?
0
|
||||||
|
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
|
||||||||||||||||
| 29.05.2012, 12:21 | ||||||||||||||||
|
DimanRu, всё что тебе нужно это:
1. скопировать код класса Hooks и вставить его в свой проект на уровне класса формы (ну или как тебе угодно)
З.Ы.: если хук нужно снимать\ставить (по нажатию button например) то используй в паре SetHook и UnHook. Если недостаточно понятно объяснил, кинь свой код я помогу встроить. Кстати, я этот класс сейчас переписываю. Добавлено через 11 минут DimanRu, чисто логическая ошибка. ты проверяешь если форма развернута - то свернуть, НО дальше сразу проверяешь если форма СВЕРНУТА - то развернуть) лучше сделать так
1
|
||||||||||||||||
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
|||||||||||
| 29.05.2012, 12:22 [ТС] | |||||||||||
|
Очень было бы неплохо, если бы вы прокомментировали код, яхочу понять как все работает, что бы потом самому ставить хуки, а не лезть опять на форум. Вставил как вы сказали в файл формы, но опять таже ошибка.
Тут
метод
0
|
|||||||||||
|
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
|
|
| 29.05.2012, 12:28 | |
|
DimanRu, смотри в чем проблема. this - указатель на ТЕКУЩИЙ экземпляр класса. Иначе говоря, метод State вообще не должен находится в классе Hooks, т.к. этот метод напрямую зависит от состояния формы. В таком варианте тебе статический класс не подходит, т.к. ты хочешь обратной связи от хука, соответственно надо допилить этот класс с событиями, на которое ты сможешь подписаться и реагировать на нажатие как захочешь. Я в данное время как раз переписываю класс который будет не статическим но более дружелюбным и прозрачным в плане его использования. Если тебе не срочно, то подожди часа 2-3 я выложу новую версию)
1
|
|
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
||||||
| 29.05.2012, 12:29 [ТС] | ||||||
|
Метод State у мея находится в классе формы. Поэтому и спрашиваю)
Вот код
Я тут кстати подумал, может прошлое мое решение, с woker'om неработало из-зи неправильной логики при свертывании?! И ещё вспомнил что мне ещё нужно будет включать NumLock, если он выключен.
0
|
||||||
|
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
|
|
| 29.05.2012, 12:34 | |
|
DimanRu, я понял в чем проблема. Тут можно намудрить, но оно того не стоит. В новой версии класса будет намного проще с обработкой нажатий "хукнутой" клавиши. Так что лучше подожди.
1
|
|
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
||||||
| 29.05.2012, 12:35 [ТС] | ||||||
|
Спасибо, подожду. Вот нашел на форуме:
0
|
||||||
| 29.05.2012, 12:35 | |
|
Помогаю со студенческими работами здесь
20
Отлов нажатия клавиш Отлов нажатия клавиш Отлов нажатия кнопки Отлов нажатия кнопки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|