Можно ли отправлять нажатия клавиш в фоновое окно с помощью API InputSimulator? - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь смоделировать нажатие клавиш и ввод текста на виртуальной машине, не выводя ее на передний план, чтобы я мог выполнять свою другую работу без перерыва.Я использую API InputSimulator для Visual Studio.

Я пытался использовать

[DllImport("user32.dll")]
public static extern IntPtr PostMessage(IntPtr hWnd, uint Msg);

Я пробовал это с именем процесса и с именем Windows, и я не могу получитьэто работает.

Было бы замечательно, если бы это работало, потому что сейчас нет проблем с отправкой нажатий клавиш в активное окно, но я не могу заставить его работать в фоновом окне.

РЕДАКТИРОВАТЬ:

Это пример попытки использовать PostMessage.

string processName = "myprocessname";
Process[] processList = Process.GetProcesses();

foreach (Process P in processList)
{
    if (P.ProcessName.Equals(processName))
    {
        IntPtr myprocess = P.MainWindowHandle;
        PostMessage(myprocess, InputSimulator.KeyPress(VirtualKeyCode.VK_A);

    }
}               
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...