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取。 --------------------编程问答--------------------
试过了,还是一样,也找不到确定按钮。这会不会是因为windows把整个打印框作为一个控件来使用了,所以会这样? --------------------编程问答-------------------- 用SPY++看下层次关系、窗口标题和类名。 --------------------编程问答-------------------- 用了spy++,但还是找不到确定按钮的句柄,如图: --------------------编程问答-------------------- 网络太慢,稍后上传 --------------------编程问答-------------------- 如图,就是这样的:
补充:.NET技术 , C#