Как моделировать вход keybard к сессии удаленного рабочего стола?

Вы пробовали onPanUpdate(details) метод? Вот как вы можете это сделать.

GestureDetector(onPanUpdate: (details) {
  if (details.delta.dx > 0)
    print("Dragging in +X direction");
  else
    print("Dragging in -X direction");

  if (details.delta.dy > 0)
    print("Dragging in +Y direction");
  else
    print("Dragging in -Y direction");
});

Примечание. Этот обратный вызов вызывает сбой, если onHorizontalDragUpdate() или onVerticalDragUpdate() установлены, как указано в anmol.majhail.

8
задан Stephen Kennedy 22 May 2018 в 08:47
поделиться

4 ответа

Ответ

Хотя Microsft говорит, что Вы не должны, и Вы не должны, отправить код OEM, необходимо отправить скэн-коды OEM. В этом примере я должен отправить скэн-коды OEM за

  • ключ A идет вниз
  • ключ A идет

Существует изображение диаграммы на CodeProject, который перечисляет делание и скэн-коды повреждения для различных ключей:

alt text

В моем случае первоначальные вызовы к keybd_event должны быть изменены на:

Byte key = Ord("A");

keybd_event(key, 0x1E, 0, 0); // key goes down
keybd_event(key, 0x9E, KEYEVENTF_KEYUP, 0); // key goes up

я протестировал это, и это работает. Таким образом, все хорошо.

7
ответ дан 5 December 2019 в 15:27
поделиться

Можете быть Вы, может выполнить autoit сценарий с PsExec, легкая замена telnet, которая позволяет Вам выполнить процессы в других системах, вместе с полной интерактивностью для консольных приложений, не имея необходимость вручную устанавливать клиентское программное обеспечение.

(AutoIt довольно способен для отправки любого сигнала (ключи или другой) к любому приложению окна, и мог быть запущен с PsExec на удаленном рабочем столе),

Сценарий AutoIt как KillSaver, например, разработан для перемещения мыши, чтобы избежать, чтобы любой продлил время простоя на компьютере!

2
ответ дан 5 December 2019 в 15:27
поделиться

Вы можете использовать SendMessage (); Это действительно лучший симулятор ключей. Что ж, удачи в этом!

0
ответ дан 5 December 2019 в 15:27
поделиться

Это сработало очень хорошо, спасибо. Для получения кода сканирования клавиатуры можно использовать:

int scan;
scan = MapVirtualKey(key & 0xff, 0);
keybd_event(key, scan, 0, 0); // key goes down
keybd_event(key, scan | 0x80, KEYEVENTF_KEYUP, 0); // key goes up
2
ответ дан 5 December 2019 в 15:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: