Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
#1

Эмуляция нажатий клавиш или автоматический ввод информации - C++

25.08.2013, 16:12. Просмотров 2707. Ответов 17
Метки нет (Все метки)

Добрый день. Мне необходимо чтобы в определенную форму ввелся пароль. Форма является изначально активной, то есть фокус находится на ней. Как сэмулировать нажатие клавиш пароля или мгновенные его ввод в форму? Пароль получается через "cout" и хранится в строке.
Используется MVS 2010 C++. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2013, 16:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Эмуляция нажатий клавиш или автоматический ввод информации (C++):

Эмуляция нажатий клавиш клавиатуры - C++
Посоветуйте, как можно реализовать управление программой (которая управляется с клавиатуры (например игра Quake)) из другой программы...

Эмуляция клавиш - C++
Привет, вот не идёт в голову как до конца дописать код: if(GetAsyncKeyState(0x46)&1) { keybd_event(VkKeyScan('A'), 0, 0, 0); ...

Обработка нажатий клавиш с glfw - C++
Изучаю glfw. Задался вопросом обработки нажатий клавиш. Нашел функцию glfwGetKey(int key), где int key - номер клавиши по какому-то там...

Подсчет и перехват нажатий клавиш - C++
Всем привет! Вот недавно попытался создать счетчика нажатий кнопок, но он очень нестабилен. Создал я его так: 1) создал winforms в vc++...

Отлов нажатий клавиш в системе и отправка на email - C++
Всем доброе время суток. Ребята нужна помощь... нада зделать клавиатурный шпион.. но так чтоб он присилал дание по майлу... тоисть с...

Эмуляция нажатия клавиш для SDL - C++
Столкнулся с такой проблемой что на эмуляцию нажатия клавиш, SDL не реагирует. Точнее DOSBox. Пробовал 2 метода (WINAPI), оба не подходят....

17
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.08.2013, 16:43 #2
SendInput
0
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
25.08.2013, 17:23  [ТС] #3
Цитата Сообщение от Nekto Посмотреть сообщение
SendInput
SendInput требует код буквы, а не саму букву. Как с этим быть?
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.08.2013, 20:24 #4
Цитата Сообщение от florgas Посмотреть сообщение
SendInput требует код буквы, а не саму букву. Как с этим быть?
В смысле? Ты же обычные чары хочешь пихать. Они за собой и хранят код (48 (0х30) для '0', и т.д.).
0
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
25.08.2013, 20:27 #5
Цитата Сообщение от florgas Посмотреть сообщение
SendInput требует код буквы, а не саму букву.
Т.е. у буквы нет кода?
0
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
25.08.2013, 21:41  [ТС] #6
Можно пример использования?
0
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
25.08.2013, 21:46 #7
http://batchloaf.wordpress.com/2012/...ing-sendinput/
http://batchloaf.wordpress.com/2013/...cus-c-program/
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.08.2013, 21:55 #8
Цитата Сообщение от florgas Посмотреть сообщение
Можно пример использования?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <windows.h>
#include <string>
 
int main()
  {
  std::string string("Let's print this in notepad");
  SetForegroundWindow(FindWindow(NULL, "Untitled - Notepad"));
  INPUT ip;
  ip.type = INPUT_KEYBOARD;
  ip.ki.time = 0;
  ip.ki.dwFlags = KEYEVENTF_UNICODE;
  ip.ki.wVk = 0;
  ip.ki.dwExtraInfo = 0;
  for (size_t i=0;i<string.size();++i)
    {
    ip.ki.wScan = string[i];
    SendInput(1, &ip, sizeof(INPUT));
    Sleep(100);
    }
  return 0;
  }
1
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
25.08.2013, 21:57  [ТС] #9
Цитата Сообщение от Nekto Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <windows.h>
#include <string>
 
int main()
  {
  std::string string("Let's print this in notepad");
  SetForegroundWindow(FindWindow(NULL, "Untitled - Notepad"));
  INPUT ip;
  ip.type = INPUT_KEYBOARD;
  ip.ki.time = 0;
  ip.ki.dwFlags = KEYEVENTF_UNICODE;
  ip.ki.wVk = 0;
  ip.ki.dwExtraInfo = 0;
  for (size_t i=0;i<string.size();++i)
    {
    ip.ki.wScan = string[i];
    SendInput(1, &ip, sizeof(INPUT));
    Sleep(100);
    }
    return 0;
  }
"Untitled - Notepad" - это что здесь значит?
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.08.2013, 22:00 #10
Цитата Сообщение от florgas Посмотреть сообщение
"Untitled - Notepad" - это что здесь значит?
Название окна.
1
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
25.08.2013, 22:59  [ТС] #11
error C2664: 'FindWindowW' : cannot convert parameter 2 from 'const char [19]' to 'LPCWSTR'
Как решить проблему?
0
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
25.08.2013, 23:00 #12
Цитата Сообщение от florgas Посмотреть сообщение
Как решить проблему?
Отключи UNICODE в проекте.
1
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.08.2013, 23:05 #13
Цитата Сообщение от florgas Посмотреть сообщение
Как решить проблему?
Использовать неюникодный FindWindow, как вариант.
1
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
25.08.2013, 23:13  [ТС] #14
Разобрался чуть-чуть. Еще вопрос: как после всего этого сэмитировать нажатие enter?
0
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
25.08.2013, 23:25 #15
Цитата Сообщение от florgas Посмотреть сообщение
Еще вопрос: как после всего этого сэмитировать нажатие enter?
Ты такие вопросы будешь задавать пока всю программу не напишешь? Изучай документацию, там все сказано.
0
25.08.2013, 23:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2013, 23:25
Привет! Вот еще темы с ответами:

Отслеживание нажатий клавиш, когда окно программы не в фокусе - C++
Доброго времени суток, цель - написать программу, выполняющую код функции (напишу самостоятельно) по нажатию клавиши. Функций должно быть...

Пятнашки - Как сделать перехват нажатий клавиш в консоли - C++
Собственно есть реализация игры &quot;Пятнашки&quot; wasd и 4862 - управление (оно организовано через передвижение пустой фишки). Пока надо...

Ввод информации в структуру и поиск элемента по информации, находящейся в этом же элементе - C++
В сервис-центре хранятся квитанции о сданной в ремонт аппаратуре. Каждая квитанция содержит следующую информацию: наименование группы...

Автоматический ввод в структуру - C++
Здравствуйте, интересует вопрос, как можно сделать автоматический ввод в структуру, объясню на примере: Нужно заполнить структуру вида:...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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