Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2349917
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:07:37

碰到一个难题:
我想写一个工具去控制另一个软件:
被控制的软件是一个简单的Diaglog Box, 里面包含了1个Tab Controll控件, 含有3个Page.
我把他运行后,使用FindWindow找到它的Handle, 然后用EnumChildWindows获得它所有的控件HANDLE.
可是结果我只能获得Tab Controll中第一个Page里的控件HANDLE, 而其它两个的却得不到.
如果我手动把其它两个都激活,这时在用上面的方法就能得到所有的HANDLE.

1.WHY?  怎样在不手动激活其它PAGE时也能得到所有控件的HANDLE.

我试图给 Tab Control控件发送TCM_SETCURSEL消息来自动激活其它的PAGE,
但是只有Page Title起了作用,而PAGE切不能切换. 看MSDN, 如下解释

A tab control does not send a TCN_SELCHANGING or TCN_SELCHANGE notification message when a tab is selected using this message.

想在程序中发 Send TCN_SELCHANGE消息, 但MSDN中却说:
For Windows 2000 and later systems, the WM_NOTIFY message cannot be sent between processes.

不知道该怎么办, VICTOR帮帮我吧.


--------------------next---------------------

阅读(1166) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~