C#关于将模拟键盘事件发送到另一个应用程序

C#关于将模拟键盘事件发送到另一个应用程序,c#,winapi,C#,Winapi,我使用WIN32 API,使用Sendkey来实现我的目标,但使用Sendkey有一个缺点,“在使用Sendkey之前,我必须先设置ForeGroundIndow()”,这与我的愿望不符 我想单击C#创建的GUI中的一个按钮,然后它将模拟另一个应用程序的键盘事件,最重要的是,我希望我不必将应用程序的窗口设置为地面窗口 有人知道怎么做吗?我非常感谢你的帮助 目标应用程序当前是否必须处于活动状态?。为什么您认为需要伪造输入?为什么你拒绝自动化,或者你不知道自动化?对不起,我是C#的新生,我完全不知道

我使用WIN32 API,使用Sendkey来实现我的目标,但使用Sendkey有一个缺点,“在使用Sendkey之前,我必须先设置ForeGroundIndow()”,这与我的愿望不符

我想单击C#创建的GUI中的一个按钮,然后它将模拟另一个应用程序的键盘事件,最重要的是,我希望我不必将应用程序的窗口设置为地面窗口

有人知道怎么做吗?我非常感谢你的帮助


目标应用程序当前是否必须处于活动状态?

。为什么您认为需要伪造输入?为什么你拒绝自动化,或者你不知道自动化?对不起,我是C#的新生,我完全不知道UI自动化,我会用谷歌搜索这个。多谢各位。
    private void button3_Click(object sender, EventArgs e)
    {
            SetForegroundWindow(wndHandle);
            SendKeys.SendWait("123");
    }