目前我需要在 C++/Qt 中检测设置为“自动隐藏”的任务栏是否在屏幕上可见。我已经尝试过以下解决方案,不幸的是没有成功:
使用 uState = (UINT) SHAppBarMessage(ABM_GETSTATE, pabd) 检查自动隐藏状态,这仅返回是否设置了自动隐藏属性
使用 SystemParametersInfo(SPI_GETWORKAREA, 0, &rectWorkArea, 0) 获取工作区;不幸的是,当任务栏设置为“自动隐藏”时,工作区始终是整个屏幕的大小,即使它实际上在屏幕上可见
使用 SHAppBarMessage(ABM_GETTASKBARPOS, &abd) 获取 AppBarData;使用这个函数,我可以获得任务栏的大小和坐标,但是它们总是返回,好像任务栏是可见的,即使它是隐藏的。
因此,使用这些方法我无法判断,“自动隐藏”的任务栏是否在给定时刻在屏幕上可见:-(
我将不胜感激任何帮助 :-)