首先,请记住我是初学者。
话虽如此,我试图用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并先声明它。我该怎么做?
任何可以帮助我解决有效代码的人,以及对代码的解释? 非常感谢!