Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 20.03.2018
Сообщений: 2
1

Эмуляция нажатия клавиши клавиатуры

20.03.2018, 22:28. Показов 2063. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

Возникла задача написания сервиса Windows, который, в том числе, посылает код виртуально нажимаемой кнопки приложениям, работающим в экранном режиме. К сожалению функция keybd_event не работает из приложений, написанных как службы Windows. В случае если моё приложение работает как консольное, необходимый эффект достигается.
Возможно кто-то сталкивался с этой задачей и сможет мне помочь. Чем заменить keybd_event в случае приложения-сервиса?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2018, 22:28
Ответы с готовыми решениями:

Эмуляция нажатия клавиши
Подскажите как отправить окну сообщение, что нужно нажать клавишу Enter? Точнее напишите функцию...

Эмуляция нажатия клавиши
Подскажите плс как емулировать нажатие клавиши в неактивном окне?

Эмуляция нажатия клавиши и передача ее в окно
Приветствую! Необходимо имитировать нажатие клавиши shift и передать в программу. HWND hWnd =...

Эмуляция нажатия левой клавиши мыши
добрый день. Написал программу, которая через 5 секунд берет дескриптор окна находящийся под...

4
18 / 18 / 15
Регистрация: 19.03.2018
Сообщений: 49
20.03.2018, 22:53 2
Как вариант, можете попробовать SendInput.
1
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
20.03.2018, 23:15 3
C++
1
2
3
4
if(GetAsyncKeyState(key)& 0x8000)
{
        
}
1
1 / 1 / 0
Регистрация: 20.03.2018
Сообщений: 2
21.03.2018, 22:20  [ТС] 4
To Хоббит: спасибо, попробовал. Эффект тот-же. В режиме сервиса выдаёт ошибку 183. Я так думаю что, в связи с тем что нет окна, для сервисов не поддерживается поток клавиатуры. Сегодня решил задачу как приложение для консоли устанавливаемое в автозагрузку и со спрятанным окном, с функцией keybd_event(). В этом режиме работает как надо.
Если мне придут ещё какие то мысли и я решу это, напишу.

Добавлено через 1 час 23 минуты
To Antikl: честно говоря не понял. Приложение, которому я отпрвляю нажатие кнопок, стороннее.
1
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
22.03.2018, 00:17 5
Функция GetAsyncKeyState определяет, является ли клавиша отпущенной или нажатой во время вызова функции и была ли клавиша нажата после предыдущего вызова GetAsyncKeyState.
Key Устанавливает одно из 256 возможных кодов виртуальной клавиши
0
22.03.2018, 00:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2018, 00:17
Помогаю со студенческими работами здесь

Эмуляция нажатия клавиши в чужой программе., Windows XP
Уважаемые, может сможет кто-нибудь подсказать как справиться с такой проблемой. Есть чужая...

Эмуляция нажатия клавиш
здрасте.мне нужно проэмулировать нажатие кнопок мыши и нажатий клавиш в неактивном окне(конкретно в...

Эмуляция нажатия в игре
Я столкнулся с проблемой Есть очень хорошая функция keybd_event() (виртуально нажимает кнопку),...

Грамотная эмуляция нажатия мыши
Здравствуйте, использую нажатие ЛКМ в таком виде: mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru