Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
igorbelykh
8 / 8 / 2
Регистрация: 01.03.2013
Сообщений: 85
#1

Как получить сигнал с клавиатуры, если активно другое приложение - C++

08.03.2014, 19:28. Просмотров 271. Ответов 5
Метки нет (Все метки)

Всем привет.
Хочу реализовать вызов приложения, которое в данный момент не является активным. Т.е. к примеру, пользователь задал клавишу 'R' для одной функции, которая должна выполниться не забирая фокус на себя. По клавише PrtScr другое действие и т.д. В совокупности до 10 клавиш или их сочетаний должно быть передано в программу.

Заранее всем большое спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2014, 19:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как получить сигнал с клавиатуры, если активно другое приложение (C++):

Если в четырехзначном числе введенному с клавиатуры, есть одинаковые цифры, то вывести 1, в противном случаe - любое другое число - C++
Нужно написать программу: "Если в четырехзначном числе введенному с клавиатуры, есть одинаковые цифры, то вывести 1, в противном случаe -...

Если первое из введенных с клавиатуры чисел А и В равно 5, то вычислить А+В, в противном случае получить А/В. - C++
Ребят спасайте срочно,завтра зачёт автоматом должен получить,а тут мне подкинули задание на С++,в то время как я изучал Паскаль.Вот...

Заменить в строке одно слово на другое, заданное с клавиатуры. - C++
Строка: aa1 bb1 cc1 dd1 слово 1: bb1 слово 2: ff1 решение: aa1 ff1 cc1 dd1 Для начинающего программиста, если можно то программу...

Заменить в строке одно слово на другое, заданное с клавиатуры. - C++
Условие задачи: Заменить в строке одно слово на другое, заданное с клавиатуры. Текст программы: #include<conio.h> ...

Можно ли сменить раскладки клавиатуры в программе и если да, то как? - C++
Здравствуйте, хотел бы узнать, есть ли в с++ возможность сменить раскладку? Например так //Была русская changeLanguage(); ...

Получить сигнал с СОМ-порта - C++
Здравствуйте.Собсно поставлена такая задача - получить по COM-порту код,преобразовать в число и вывести на экран.Тоесть например идет набор...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
08.03.2014, 19:38 #2
Либо GetAsyncKeyState() в потоке, либо регистрация на свое приложение глобальных "горячих клавиш" через GlobalAddAtom() и RegisterHotKey(), либо полноценный хук.

Первое проще и авири не будут ругаться. Второе тоже неплохо, но "глобальные клавиши" уже могут быть забиты другим приложением. Третье очень не любят авири.
igorbelykh
8 / 8 / 2
Регистрация: 01.03.2013
Сообщений: 85
08.03.2014, 19:50  [ТС] #3
raxp, т.е. получается, что нельзя чтобы по PrtScr срабатывала и моя программа и виндовская? Получается мне придется еще реализовать и копирование картинки в буфер обмена самому?
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
08.03.2014, 20:53 #4
получается, что нельзя
на основании чего такой вывод?
igorbelykh
8 / 8 / 2
Регистрация: 01.03.2013
Сообщений: 85
09.03.2014, 07:56  [ТС] #5
Цитата Сообщение от raxp Посмотреть сообщение
на основании чего такой вывод?
Ну так это клавиша PrtScr уже занята же ведь. Поправьте, меня если я ошибаюсь. А я чувствую, что ошибаюсь
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
09.03.2014, 11:31 #6
Если занята, то не удасться зарегистрировать на себя. Способы 1 и 3 от этого не зависят.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2014, 11:31
Привет! Вот еще темы с ответами:

Как нажать клавишу у чужого приложения,если в данный момент активно другое окно? - C++ Builder
Подскажите как нажать клавишу у чужого приложения, если активно другое окно? Пробовал сделать вот так if (HWND h1 =...

Может ли получить сигнал потомок от родителя, если сигнал: посылается всем (kill(0,SIGTERM) а потомок был добавлен в группу - C++ Linux
Может ли получить сигнал потомок от родителя, если сигнал: посылается всем (kill(0,SIGTERM)) а потомок был добавлен в группу. Т.е....

Если активно окно формы появляется рамка - как убрать? - HTML, CSS
Доброго времени суток! Переделывал CSS-код для окон формы. Теперь если окно формы активно (например, в текстовом поле стоит курсор),...

Почему после завершения работы приложение активно? - Программирование Android
Установил программу на телефон. Протестил, делаю выход:finish(); System.exit(0); Открываю настройки->приложения->(моя программа) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.03.2014, 11:31
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru