一 背景
某种情况下,需要从某窗体获取该窗体文本框内的内容,发现文本框并没有标题名,无法获取文本框控件的句柄。接下来,我将介绍我获取所需文本框控件句柄方法。
二 使用Spy++获取
如图,打开Spy++可以直接获取到“测试窗口”的所有控件句柄。
三 EnumChildWindows遍历所有句柄
一般窗体内文本框前面都有一个lable控件来标注,比如“测试窗口”内有一个名为“Test”的标示。在使用EnumChildWindows遍历时,发现lable控件句柄后的那个句柄一般都是对应文本框的。所以,我们可以使用FindWindowEx(h, IntPtr.Zero, null, lpszWindow)函数获取lable控件的句柄。然后遍历出所有句柄,查找到label控