如果Windows资源管理器任务栏设置为自动隐藏,我如何通过Delphi程序告诉?
答案 0 :(得分:13)
在Windows XP及更高版本中,您可以使用ABM_GETSTATE
消息调用SHAppBarMessage
API。
语法:
SHAppBarMessage(ABM_SETSTATE, pabd);
pabd
是指向APPBARDATA
结构的指针
头文件是:shellapi.h。
如果要获取任务栏的状态,请使用ABM_GETSTATE
消息。
你可以在delphi中调用这个api。
答案 1 :(得分:11)
你真的想知道的是什么?是因为你想知道屏幕上可用的区域吗?
如果是这样,那么我相信您可以使用Screen.WorkAreaRect来确定可用的屏幕区域,其中排除了所有(永久)工具栏等。
答案 2 :(得分:1)
使用Win32 shell apis(IsTBAutohide等)
有关无证件的apis,请参阅Google网上论坛
永远不要阅读注册表(停止删除正确的答案,这是愚蠢的......)
答案 3 :(得分:-2)
你必须处理Windows注册表,因为这些信息都在那里。表示“autoohide”的值仅在用户使用其帐户
登录/注销时写入(读取)负责存储此信息的注册表项位于 HKEY_CURRENT_USER \软件\微软\的Windows \ CurrentVersion \ Explorer中\ StuckRects2 唯一的东西是设置,它是第9个十六进制值 对于“自动隐藏”这个值 03 表示“自动隐藏”它是 02