如何获得第三方程序中表格里的所有单元格
我想写一个程序,去自动操作一个第三方程序。通过EnumChildWindows函数,获得第三方程序中所有控件的句柄,然后根据他们的位置判断控件对应画面的哪个属性,通过发送消息给这些控件设置上相应的值。但是现在面临一个问题,画面中有一个表格控件,通过EnumChildWindows函数只能获得这个表格控件,无法获得表格中的每个单元格。因此没办法给每个单元格设上值。但是如果事先点击某个单元格,使这个单元格处于输入状态时,EnumChildWindows可以获得这个单元格。不知道有没有办法可以获得所有的单元格。部分代码如下
//获取测试程序的窗体句柄
IntPtr mainWnd = FindWindow(null, "form1");
List<IntPtr> listWnd = new List<IntPtr>();
//获取窗体上OK按钮的句柄
IntPtr hwnd_button = FindWindowEx(mainWnd, new IntPtr(0), null, "OK");
//获取窗体上所有控件的句柄
EnumChildWindows(mainWnd, new CallBack(delegate(IntPtr hwnd, int lParam)
{
listWnd.Add(hwnd);
return true;
}), 0);
List<IntPtr> listCell = new List<IntPtr>();
foreach (IntPtr item in listWnd)
{
//略
} --------------------编程问答-------------------- 通过spy++看看句柄
设置焦点 --------------------编程问答-------------------- 程序每次运行的时候,句柄都会改变啊。不能每次都去改代码吧 --------------------编程问答-------------------- 急等。有人可以帮忙吗 --------------------编程问答-------------------- 按照控件的类去获取啊. - -!
类是不变的..
补充:.NET技术 , C#