发送击键

时间:2009-09-12 17:43:46

标签: c# windows sendkeys

我正在使用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 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

我不认为Windows体系结构会允许这样做,因为只有forground窗口应该接收击键或任何用户活动。

替代方式可能是创建虚拟destkop,在该虚拟桌面中移动桌面并传递在屏幕上无法显示的密钥。