Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2014, 10:42   #11
DpolenST
Форумчанин
 
Регистрация: 28.09.2013
Сообщений: 115
По умолчанию

SendInput работает, проверял на C++ Builder
Что бы еще такого сделать, чтобы ничего не делать?
DpolenST вне форума Ответить с цитированием
Старый 31.01.2014, 11:00   #12
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Так ответа и не услышал, это программа ПК или онлаин-тест?
Это онлайн-тест.

Код:
SendInput работает, проверял на C++ Builder
Скиньте пример на С++, а то я не могу найти, где в этой функции передавать HWnd окна лисички.
FaTaL вне форума Ответить с цитированием
Старый 31.01.2014, 11:11   #13
DpolenST
Форумчанин
 
Регистрация: 28.09.2013
Сообщений: 115
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Скиньте пример на С++, а то я не могу найти, где в этой функции передавать HWnd окна лисички.
не, он без хендла, где стоит курсор там и будет печатать

сделал так, повесил на таймер
Код:
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  Timer1->Enabled = false;
  int k=Timer1->Tag;
  Timer1->Interval = 150+ random(200);

  char*my_char_str="Это текст, который надо напечатать.";
  WideString wstr(my_char_str);
  wchar_t*s=wstr.c_bstr();

  INPUT inputToSend;
  inputToSend.type = INPUT_KEYBOARD;
  inputToSend.ki.wVk = 0;
  inputToSend.ki.wScan = s[k];
  inputToSend.ki.dwFlags = KEYEVENTF_UNICODE;
  inputToSend.ki.time = 0;
  inputToSend.ki.dwExtraInfo = 0;
  SendInput(1, &inputToSend, sizeof(INPUT));

  Timer1->Tag=k+1;
  if(k<strlen(my_char_str))Timer1->Enabled = true;
}
Что бы еще такого сделать, чтобы ничего не делать?
DpolenST вне форума Ответить с цитированием
Старый 31.01.2014, 11:33   #14
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Это онлайн-тест.
Изнутри хрома можно без этого гемороя и исходный текст выгрести и вовремя ввод делать...
Цитата:
не, он без хендла, где стоит курсор там и будет печатать
...и браузер на виду придется держать, и за ПК работать не сможешь...

Последний раз редактировалось Человек_Борща; 31.01.2014 в 11:36.
Человек_Борща вне форума Ответить с цитированием
Старый 04.02.2014, 16:37   #15
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Методом "тыка" нашёл, что в эту WEB-прогу можно вставлять из буфера обмена и всё нормально отрабатывает как будто произошло нажатие клавиши. И тут вопрос: Как можно сделать нажатие правой кнопки мыши - Вставить в определённом месте экрана или чтобы просто послать комманду CTRL+V в активное окно? Если это получится, то просто буду совать побуквенно весь текст в буфер и вызывать комманду "вставить".

UpDate: Вроде решил проблему через keybd_event

Последний раз редактировалось FaTaL; 04.02.2014 в 17:04.
FaTaL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Послать нажатие клавиши + хуки c0mp Win Api 7 13.08.2012 10:26
Mozilla FireFox 4.0 Beta 8 Adblock Софт 1 02.04.2011 11:26
Mozilla Firefox 4 Bustle Софт 11 02.04.2011 10:23
Mozilla Firefox zai_1gen Софт 29 13.02.2009 18:08