我正在使用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
没有放一些线程延迟,它必须是最快的,
我只是看看它是如何完成的。
答案 0 :(得分:2)
这个问题已在SO上得到解决:
How do I send key strokes to a window without having to activate it using Windows API?
答案 1 :(得分:0)
我不认为Windows体系结构会允许这样做,因为只有forground窗口应该接收击键或任何用户活动。
替代方式可能是创建虚拟destkop,在该虚拟桌面中移动桌面并传递在屏幕上无法显示的密钥。