Нажмите клавишу (wm_keydown, wparam, lparam) и имитируйте клавишу ввода - PullRequest
0 голосов
/ 10 декабря 2011

Я не понял, как использовать этот метод в .NetWrapper для ввода клавиш клавиатуры (в C #) Мне нужно, чтобы при вызове метода я мог имитировать клавиатуру «Enter». (например, если я действительно нажму клавишу ввода)

:

//   msg:
//     The Windows keyboard message (usually WM_KEYDOWN, WM_KEYUP and WM_CHAR).
//
//   wparam:
//     The first parameter of the message as intercepted by the window procedure.
//
//   lparam:
//     The second parameter of the message as intercepted by the window procedure.


protected void InjectKeyboardEventWin(int msg, int wparam, int lparam);

Если я не могу использовать этот метод для симуляции клавиши «Ввод», есть ли способ сделать это с помощью JavaScript?

О JavaScript:

в форме HTTP (где я хочу смоделировать клавишу «ввод») нет кнопки «Отправить».

Таким образом, единственный способ отправить данные в TextBot - это «Enter»

Ps Я не могу использовать JQuery

1 Ответ

0 голосов
/ 23 декабря 2011

Не уверен, откуда взялся этот метод InjectKeyboardEventWin (), но настоящая функция в Windows:

VOID WINAPI keybd_event(
  __in  BYTE bVk,
  __in  BYTE bScan,
  __in  DWORD dwFlags,
  __in  ULONG_PTR dwExtraInfo
);

Это позволит вам симулировать нажатия клавиш для любого приложения, которое в данный момент имеет фокус.Вы также можете моделировать события мыши с помощью аналогичной функции.Чтобы смоделировать нажатие клавиши ВВОД, вам нужно будет вызвать это дважды;один раз для события keydown и снова для keyup.Подробности можно посмотреть здесь:

Документ MSDN на keybd_event

...