Chcę sprawdzić, czy okno aplikacji zewnętrznej ma pionowy lub poziomy pasek przewijania? widoczny przy użyciu HWND (uchwyt) okna, istnieje jakaś funkcja WinApi, aby uzyskać te informacje? Naprawdę próbuję funkcji GetScrollInfo
, ale wydaje się, że nie pobiera informacji o widoczności pasków przewijania.Jak mogę sprawdzić, czy okno ma widoczne paski przewijania przy użyciu jego HWND?
7
A
Odpowiedz
16
Jak o GetScrollBarInfo
z OBJID_HSCROLL
lub OBJID_VSCROLL
Jeśli idObject jest OBJID_CLIENT i okno określony przez HWND nie jest kontrola paska przewijania System, system wysyła wiadomość SBM_GETSCROLLBARINFO do okna, aby uzyskać pasek przewijania Informacja. Dzięki temu GetScrollBarInfo może działać na niestandardowej kontrolce, która naśladuje pasek przewijania. Jeśli okno nie obsługuje komunikatu SBM_GETSCROLLBARINFO, funkcja GetScrollBarInfo kończy się niepowodzeniem.
można przetestować rgstate
w strukturze SCROLLBARINFO
, istnieje STATE_SYSTEM_INVISIBLE
flaga tam.
Innym możliwym sposobem jest przetestowanie GetWindowLong(hWnd, GWL_STYLE) and (WS_HSCROLL or WS_VSCROLL) <> 0
Powiązane problemy
- 1. Sprawdź, czy paski przewijania TScrollBox są rzeczywiście widoczne.
- 2. Jak sprawdzić, czy paski przewijania pojawiły się w przeglądarce (jQuery)?
- 3. Jak mogę sprawdzić, czy okno ma fokus? (Win32 API)
- 4. Czy paski przewijania są widoczne tylko po obróceniu Div?
- 5. Set Window.Owner użyciu hWnd
- 6. Jak mogę uzyskać paski przewijania na Picturebox
- 7. Jak zastosować przeciąganie okna przy użyciu jego obszaru roboczego?
- 8. Jak sprawdzić, czy okno podrzędne istnieje?
- 9. Jak utworzyć niestandardowe paski przewijania w IE?
- 10. PostMessage (hwnd, WM_SETTEXT, ..) nie działa, gdy PostMessage (hwnd, WM_QUIT, ..) ma
- 11. Bootstrap 3: Paski przewijania
- 12. Jak mogę sprawdzić, czy element ma jakieś elementy podrzędne przy użyciu jquery?
- 13. Ukryj paski przewijania w DataGridView
- 14. Jak mogę wykryć, czy okno naprawdę zmieniło rozmiar w trybie standardów IE8?
- 15. Jak zlokalizować okno przy użyciu funkcji findwindow w windowapi przy użyciu vba?
- 16. Jquery modalne okna dialogowe wyłączyć paski przewijania
- 17. Pionowe paski przewijania z window.open
- 18. Jak mogę sprawdzić, czy widok przewijania jest podskakujący?
- 19. Jak sprawdzić # linii przy użyciu jQuery
- 20. Jak mogę sprawdzić, czy okno zostało zamknięte w JavaScript?
- 21. Jak mogę sprawdzić, czy zostało załadowane okno dialogowe Dojo?
- 22. Jak dodać paski przewijania w elemencie iframe
- 23. Jak tworzyć paski przewijania Google Wave?
- 24. Jak usunąć paski przewijania w oknach konsoli C++
- 25. Pokaż okno przy użyciu PendingIntent
- 26. przy użyciu vim okno quickfix
- 27. Jak sprawdzić, czy szerokość okna jest większa niż jego wysokość przy użyciu zapytania tekstowego
- 28. Jak określić, czy okno jest poza ekranem?
- 29. Jak mogę sprawdzić błędy w operacjach CRUD przy użyciu GORM?
- 30. Jak wybrać tylko widoczne elementy przy użyciu XPath?
wygląda obiecująco, ale nie działa z Windows Internet Explorer lub aplikacji explorer.exe (Windows 7) – Salvador
wierzę, że 'Explorer.exe' zawiera kontroluje 'SysTreeView32' i' SysListView32' (oba zwracają poprawne 'WS_HSCROLL' lub' WS_VSCROLL') z 'GetWindowLong'. Używam Spy ++, aby potwierdzić style okna. nie testowałem jednak za pomocą 'GetScrollBarInfo'. – kobik