是否可以使用InputSimulator API将击键发送到后台窗口?

时间:2019-01-28 21:45:13

标签: c# input

我正在尝试模拟虚拟机的按键和文本输入而不将其置于最前面,以便我可以不中断地完成其他工作。我正在使用Visual Studio的InputSimulator API。

我尝试使用

[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);

    }
}               

0 个答案:

没有答案