我想检查外部应用程序的窗口是否使用窗口的HWND(句柄) 可见的垂直或水平滚动条,存在任何WinApi函数来获取此信息? 我真的尝试GetScrollInfo
函数,但似乎没有检索有关滚动条的可见性的信息。
带有OBJID_HSCROLL
或OBJID_VSCROLL
GetScrollBarInfo
如何OBJID_VSCROLL
如果idObject是OBJID_CLIENT,并且hwnd指定的窗口不是系统滚动条控件,则系统将SBM_GETSCROLLBARINFO消息发送到窗口以获取滚动条信息。 这允许GetScrollBarInfo在模仿滚动条的自定义控件上操作。 如果窗口不处理SBM_GETSCROLLBARINFO消息,则GetScrollBarInfo函数失败。
您可以在SCROLLBARINFO
结构中测试rgstate
,那里有一个STATE_SYSTEM_INVISIBLE
标志。
另一种可能的方法是测试GetWindowLong(hWnd, GWL_STYLE) and (WS_HSCROLL or WS_VSCROLL) <> 0