首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

在使用findwindowEX中怎么区分多个类名及窗口标题都相同的文本框

2012-01-16 
在使用findwindowEX中如何区分多个类名及窗口标题都相同的文本框在不同应用程序的通迅中要用到findwindowE

在使用findwindowEX中如何区分多个类名及窗口标题都相同的文本框
在不同应用程序的通迅中要用到findwindowEX,通过SPY++发现每个文本框的的类名及窗口标题都相同,怎样才能取得每个文本框的句柄
appWnd_edit = FindWindowEx(appWnd,new IntPtr(0),"Edit","");
另外SPY++中发现有些文本框的标题是一串数值,把它作为第四个参数就无法找到控件,不知为什么,
如果应用程序是C#做的,第四个参数可以用控件名称,如"textBox1",但中SPY++中没有找不到,怎么办?

[解决办法]
首先可以根据该控件的父子关系一层层自上往下找,另外可以配合该控件在其父窗体的Location来区分。
[解决办法]

引用楼主 zhlhyy 的帖子:
怎样才能取得每个文本框的句柄

[解决办法]
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)); 

热点排行