Отправка нажатия клавиш - PullRequest
       13

Отправка нажатия клавиш

0 голосов
/ 12 сентября 2009

Я использую SendKey и эти функции для отправки нажатий клавиш в окно, расположенное по его имени

[DllImport("user32.dll")]
public static extern int FindWindow(
    string lpClassName, // class name 
    string lpWindowName // window name 
    );

[DllImport("user32.dll")]
public static extern int SetForegroundWindow(
    int hWnd // handle to window
    );

Есть ли другой способ отправить нажатие клавиши в окно, не помещая его на передний план?

Я переключаюсь между многими окнами, и SendKey делает некоторые ошибки, которые я не могу контролировать, я не могу использовать SendWait нет, также не помещая некоторые задержки потока, это должно быть максимально быстро,

Я просто смотрю, как это можно сделать.

Ответы [ 2 ]

2 голосов
/ 12 сентября 2009
0 голосов
/ 12 сентября 2009

Я не думаю, что архитектура Windows позволит это, потому что только форвардное окно должно получать нажатия клавиш или любую пользовательскую активность.

Альтернативным способом может быть создание виртуального десткопа, перемещение рабочего стола в этот виртуальный рабочий стол и передача ключей, которые не видны на экране.

...