我正在使用win32(vC++)在Windows中編寫一個小應用程序,並且我想根據任務欄的位置創建不同的視圖。我怎樣才能像任何API檢查代碼中的任務欄的位置?如何在win32程序中檢查窗口中任務欄的位置?
回答
您可以使用SHAppBarMessage()
功能與ABM_GETTASKBARPOS
消息。
任務欄可能會顯示在多個顯示器上,因此通常無法檢索定義其位置的單個矩形。它可能佔據不連續的空間。
使用EnumDisplayMonitors
來枚舉附加的顯示。然後對於每個顯示器使用GetMonitorInfo
來獲得顯示器的邊界和工作區矩形。如果有差異,那麼(通常)由於任務欄的不同而不同。請記住,任務欄可以顯示在多個顯示器上。
我說通常是因爲你可能有應用程序欄的應用程序減少工作區域。但我猜你真正想做的是顯示你的程序,以便它不與任務欄重疊,如果你想避免重疊任務欄,那麼你可能想避免重疊的應用程序欄。
這有點奇怪,正如你所建議的,不能保證這個區別是由任務欄造成的。也可以爲窗口類枚舉,並使用GetWindowRect。 –
即時尋找財產以後簡單taskbar.position像API會給我留下,roght,底部或頂部 –
@TumuluriVDattaVamshi你欣賞多個顯示器系統的精妙之處,並且在多個監視器上出現任務欄?鑑於這種微妙之處,你所尋找的東西顯然是不可能的。 –
- 1. 如何在窗口的任務欄上方設置tkiner窗口
- 2. Firefox擴展檢測窗口任務欄位置
- 3. 如何讓程序在任務欄窗口-CE
- 4. 如何獲得在任務欄中縮小的程序的窗口標題?
- 5. (Win Api)檢查外部應用程序窗口是否在任務欄上
- 6. 窗口出現在Windows任務欄設置窗口的後面
- 7. 如何在win32程序的單個窗口中添加多個工具欄?
- 8. 如何檢查MDI應用程序中窗體的「Z位置」?
- 9. 如何使用Win32 API檢測窗口位置更改
- 10. 擺脫任務欄中的XAML窗口
- 11. WPF應用程序;如何在任務欄中只有一個窗口
- 12. 如何讓我的Win32程序'pin到任務欄'?
- 13. 如何檢查是否有任何程序使用python運行在窗口中
- 14. 程序在關閉窗口時卡在任務欄上
- 15. 多窗口win32程序
- 16. 如何使窗口出現在任務欄中?
- 17. 如何在C#控制檯中隱藏任務欄窗口
- 18. 如何在任務欄中打開QDialog窗口而不是CloseWindow
- 19. 如何在任務欄中顯示子窗口圖標
- 20. 如何檢測Vim窗口的位置
- 21. 如何在Windows窗體應用程序設置中記錄窗口位置
- 22. 如何創建沒有任何窗口的任務欄按鈕?
- 23. Win32:是否可以顯示窗口,但將其從任務欄中隱藏?
- 24. 當從任務欄中選擇子窗口時,將父窗口置於前面
- 25. 編程方式操縱任務欄的位置在Win8中
- 26. Windows 7任務欄任務中沒有窗口.Net
- 27. 使子窗口出現在任務欄
- 28. 使tkinter窗口出現在任務欄
- 29. 關於win32編程中的自定義窗口標題欄
- 30. 如何找到Win32控件/窗口相對於其父窗口的位置?
什麼時候任務欄分佈在多個顯示器上? –
@DavidHeffernan不知道說實話,如果這是另一個他們已經「忘記」更新的API,那就不會讓我感到驚訝。 –
看起來我不應該試圖變聰明,但通過投票來判斷。何哼。 –