在使用findwindowEX中如何区分多个类名及窗口标题都相同的文本框
在不同应用程序的通迅中要用到findwindowEX,通过SPY++发现每个文本框的的类名及窗口标题都相同,怎样才能取得每个文本框的句柄
appWnd_edit = FindWindowEx(appWnd,new IntPtr(0),"Edit","");
另外SPY++中发现有些文本框的标题是一串数值,把它作为第四个参数就无法找到控件,不知为什么,
如果应用程序是C#做的,第四个参数可以用控件名称,如"textBox1",但中SPY++中没有找不到,怎么办?
------解决方案--------------------首先可以根据该控件的父子关系一层层自上往下找,另外可以配合该控件在其父窗体的Location来区分。
------解决方案--------------------
------解决方案--------------------C# code
//循環取得窗體中某控件所有的Handle
IntPtr p = IntPtr.Zero ;
do
{
p = FindWindowEx(this.Handle, p, "控件的類名", null);
if (!p.Equals(IntPtr.Zero))
label1.Text = label1.Text + p.ToString() + Environment.NewLine;
} while (!p.Equals(IntPtr.Zero));