C# 在外部程序上使用SendKeys函数

C# 在外部程序上使用SendKeys函数,c#,sendkeys,C#,Sendkeys,我有以下代码来发送密钥 private void button1_Click(object sender, EventArgs e) { Process[] copyFrom = Process.GetProcessesByName("UI.Main"); Process myApp = Process.GetCurrentProcess(); if (copyFrom.Length > 0) SetFore

我有以下代码来发送密钥

private void button1_Click(object sender, EventArgs e)
    {
        Process[] copyFrom = Process.GetProcessesByName("UI.Main");
        Process myApp = Process.GetCurrentProcess();

        if (copyFrom.Length > 0)
            SetForegroundWindow(copyFrom[0].MainWindowHandle);
        else
            Process.Start("UI.Main.exe");

        SendKeys.Send("^c");
        SendKeys.Send("{DOWN}");
        SendKeys.Send("^v");

        SetForegroundWindow(myApp.MainWindowHandle);

        myString = Clipboard.GetText(TextDataFormat.Text);
        MessageBox.Show(myString);
    }
如果我使用不同的应用程序,如记事本、MS Word或Excel或其他任何应用程序,则此代码可以正常工作,但它不适用于我的应用程序

它是一个全屏应用程序,没有关闭、最小化或最大化按钮。 如果我按下键盘上的一个按钮,它会工作,但是它不会响应任何带有SendKeys功能的按钮


还有其他方法吗?

您是否尝试过
SendKeys.Send(“bla”)没有其他东西?那么,您是否在没有任何
setForeGroundIndow
code的情况下尝试了它?因为这应该是有效的。您能提供您在应用程序中尝试的确切代码吗?或者你只是把申请的名字改成了你的名字?是的,我试过了。它仍然没有响应,你确定当时窗口是聚焦的吗?您是否尝试过类似于
Focus()之前已经有了吗?