c#如何在子窗口中查找按钮并通过编程方式单击
我想知道如何在user32 dll的帮助下以编程方式激活按钮。谢谢你的帮助 在下一个代码中,我得到了特定窗口的句柄。现在我想激活此窗口的一个按钮(打开按钮) 是否有一种方法可以搜索和打印处理程序在窗口中看到的所有内容(按钮打开、关闭……等等)? 需要帮助 这是我的密码:c#如何在子窗口中查找按钮并通过编程方式单击,c#,C#,我想知道如何在user32 dll的帮助下以编程方式激活按钮。谢谢你的帮助 在下一个代码中,我得到了特定窗口的句柄。现在我想激活此窗口的一个按钮(打开按钮) 是否有一种方法可以搜索和打印处理程序在窗口中看到的所有内容(按钮打开、关闭……等等)? 需要帮助 这是我的密码: StringBuilder bld = new StringBuilder(256); StringBuilder className = new StringBuilder(256); GetWindowT
StringBuilder bld = new StringBuilder(256);
StringBuilder className = new StringBuilder(256);
GetWindowText(hwnd, bld, 256);
GetClassName(hwnd, className, 256);
string text = bld.ToString();
if (text.Length > 0)
{
Console.WriteLine("Pointer: " + hwnd.ToInt32().ToString() + " Window Title: " + text);
if (text == "my_window") {
Console.WriteLine(bld.ToString()+"..."+className.ToString()+"..."+hwnd.ToString());
System.IntPtr ptrChild = GetWindow(hwnd,5);
IntPtr handll = FindWindow(className.ToString(), "my_window");
if (handll == IntPtr.Zero)
{
Console.WriteLine("not working");
}
SetForegroundWindow(handll);
while (!handll.Equals(IntPtr.Zero)){ //HOW TO CHECK (FIND) FOR THE OK BUTTON?!}
..}
可以使用搜索所有控件 (可选)您只能搜索以下按钮:
IntPtr handle = FindWindowEx(parentWindow, IntPtr.Zero, "BUTTON", null);
while(handle != IntPtr.Zero)
{
GetWindowText(handle, bld, 255);
MessageBox.Show(bld.ToString()); // writes out displayed text
handle = FindWindowEx(parentWindow, handle, "BUTTON", null);
}
我应该把搜索按钮放在哪里?内部while(!handlel.Equals(IntPtr.Zero)){?thx.请帮助。我的FindWindowEx需要一个IntPtr而不是“按钮”。我如何更改它?[DllImport(“user32.dll”,SetLastError=true)]公共静态外部IntPtr FindWindowEx(IntPtr parentHandle,IntPtr childAfter,string className,IntPtr windowTitle);好的,thx我确实更改了它:如果(ptrChild==FindWindowEx(hwnd,IntPtr.Zero,“按钮”,“另存为”){SendMessage(ptrChild,WM_lbuttonown,0,IntPtr.Zero);SendMessage(ptrChild,WM_LBUTTONUP,0,IntPtr.Zero);但我没有看到任何结果。为什么?SendMessage(WM_单击)够了,我不知道,FindWindowEx找到按钮了吗?
IntPtr handle = FindWindowEx(parentWindow, IntPtr.Zero, "BUTTON", null);
while(handle != IntPtr.Zero)
{
GetWindowText(handle, bld, 255);
MessageBox.Show(bld.ToString()); // writes out displayed text
handle = FindWindowEx(parentWindow, handle, "BUTTON", null);
}