在指定的窗口中查找某个子窗口或者控件
群里讨论一个技术问题:
用函数 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 );
}