当前位置:编程学习 > C#/ASP.NET >>

如何获得第三方程序中表格里的所有单元格

我想写一个程序,去自动操作一个第三方程序。通过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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,