如何在外部应用程序中按下按钮

时间:2018-03-07 08:22:44

标签: c# sendmessage

首先,请记住我是初学者。

话虽如此,我试图用user32.dll按下外部应用程序中的按钮。我尝试了很多解决方案,但无法找到有效的方法。

我正在使用3 DllImport,因为我想把窗口带到前面(这很好)

看起来像这样:

[DllImportAttribute("User32.dll")]
private static extern int FindWindow(String ClassName, String 
WindowName);

[DllImportAttribute("User32.dll")]
private static extern IntPtr SetForegroundWindow(int fgr);

[DllImport("user32.dll")]
static extern bool SendMessage(IntPtr hWnd, uint Msg, int wParam, int 
lParam);
const int BN_CLICKED = 245;

当我点击一个按钮时,它会将应用程序带到前面,如下所示:

private void button1_Click(object sender, EventArgs e)
{
    int fgr = FindWindow("TAssistMainFrm", null);
    if (fgr > 0) //If found
    {
        MessageBox.Show("Window found!");
        SetForegroundWindow(fgr);

    }
    else //Not Found
    {
        MessageBox.Show("Window Not Found!");
    }

}

正如我所说,这绝对没问题! 这是问题所在。 我想按下ClassNN TButton10的按钮

我试过了:

 SendMessage(TButton10, BN_CLICKED, 0, 0);

还有很多其他的东西,但我猜我需要找到TButton10并先声明它。我该怎么做?

任何可以帮助我解决有效代码的人,以及对代码的解释? 非常感谢!

0 个答案:

没有答案