我正在尝试模拟虚拟机的按键和文本输入而不将其置于最前面,以便我可以不中断地完成其他工作。我正在使用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);
}
}