我正在尝试使用 C ++ 操作现有窗口。
基本上,我要做的是将父窗口设置为透明,首先将其窗口样式设置为WS_EX_LAYERED
,然后使用具有正确值的SetLayeredWindowAttributes()
。
问题在于,这也会将子窗口设置为透明,这将使整个程序透明(显然是一个问题)。
有什么想法吗?
编辑图片展示了问题:
正如您所看到的,我将任务栏窗口样式设置为WS_EX_LAYERED
,但是例如窗口MSTaskSwWClass
(具有正在运行的应用程序图标的窗口)也会受到影响。
EDIT2 尝试使用完全相同的结果UpdateLayeredWindow()
。
答案 0 :(得分:0)
截至http://msdn.microsoft.com/en-us/library/windows/desktop/ms633540%28v=vs.85%29.aspx
Windows 8 :顶级窗口和子窗口支持WS_EX_LAYERED样式。 以前的Windows版本仅支持顶级窗口的WS_EX_LAYERED 。
所以它不会将分层属性设置为' child'窗户。
向我们展示屏幕截图和/或代码。