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

word2003的打印窗口无法得到确定按钮的句柄


自己做了一个查看窗口和控件句柄的小程序,但是在word2003里的打印窗口中,无法显示出“确定”按钮(以及其他按钮如“取消”)的控件句柄,同理,excel2003也是一样;但是在在pdf和txt文档里就没有这种问题。请问这是为什么?
部分代码如下:

        public void LBTDown(Point curPoint)
        {
            //根据当前鼠标位置确定父窗口句柄
            IntPtr CurPtHwnd = WindowFromPoint(curPoint);
            //将窗口或控件的txt内容取出放在s中
            StringBuilder s = new StringBuilder(512);
            int strLen = GetWindowText(CurPtHwnd, s, s.Capacity);

            //将s和窗口(控件)句柄显示出来
            if (strLen >= 0)
            {
                this.MouseStructInfoText.Text = "当前鼠标所指位置的文本内容为:\r\n" + s.ToString();
                this.MouseStructInfoText.Text += "\r\n当前鼠标所指位置的控件句柄为" + CurPtHwnd.ToInt32();
            }
            else {
                MessageBox.Show("获取当前鼠标所指控件的文本内容时失败");
            }
        } 钩子程序 句柄 控件内容 打印框 --------------------编程问答-------------------- 因为按钮不在那个坐标上
不要用WindowFromPoint取,
用FindWindow/FindWindowEx取。 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
因为按钮不在那个坐标上
不要用WindowFromPoint取,
用FindWindow/FindWindowEx取。

试过了,还是一样,也找不到确定按钮。这会不会是因为windows把整个打印框作为一个控件来使用了,所以会这样? --------------------编程问答-------------------- 用SPY++看下层次关系、窗口标题和类名。 --------------------编程问答-------------------- 用了spy++,但还是找不到确定按钮的句柄,如图: --------------------编程问答-------------------- 网络太慢,稍后上传 --------------------编程问答-------------------- 如图,就是这样的:
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,