首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

在指定的窗口中查寻某个子窗口或者控件

2013-11-13 
在指定的窗口中查找某个子窗口或者控件群里讨论一个技术问题:用函数findowex(任务栏句柄,null, button,

在指定的窗口中查找某个子窗口或者控件
群里讨论一个技术问题:

用函数  findowex(任务栏句柄,null, "button", NULL); 用这个法子获取 任务栏左侧的那个win徽标按钮失败

结果失败了。

不明白原因,还有spy++观察了,这个按钮的父窗口确实是任务栏,而且该按钮的风格居然是wm_popup.

我做过实验,如果一般的按钮用wm_popup风格,程序直接崩溃。


根据一些经验: findowex是一个没有保存查询记录的功能,说白就是查询一次, 如果没有查到则遍历所有,

查到立即返回。


由于任务栏 中中只有一个按钮, 那么猜测获取到是必然成功的。 事实上,却无法获取到。


我刚才又新建了一个工程测试,这个法子绝对可以获取到按钮的句柄的。

但是为什么这个法子无法获取到 任务栏左侧的那个win图标呢。



[解决办法]
Win7 

HWND hDesktop =::GetDesktopWindow();
HWND hStart =::FindWindowEx( hDesktop, NULL, _T( "Button" ), _T( "开始" ) );
if ( NULL != hStart )
{
::EnableWindow( hStart, TRUE );
}

热点排行