2015-06-30 54 views

回答

2

您可以使用SHAppBarMessage()功能與ABM_GETTASKBARPOS消息。

+0

什麼時候任務欄分佈在多個顯示器上? –

+0

@DavidHeffernan不知道說實話,如果這是另一個他們已經「忘記」更新的API,那就不會讓我感到驚訝。 –

+0

看起來我不應該試圖變聰明,但通過投票來判斷。何哼。 –

-1

任務欄可能會顯示在多個顯示器上,因此通常無法檢索定義其位置的單個矩形。它可能佔據不連續的空間。

使用EnumDisplayMonitors來枚舉附加的顯示。然後對於每個顯示器使用GetMonitorInfo來獲得顯示器的邊界和工作區矩形。如果有差異,那麼(通常)由於任務欄的不同而不同。請記住,任務欄可以顯示在多個顯示器上。

我說通常是因爲你可能有應用程序欄的應用程序減少工作區域。但我猜你真正想做的是顯示你的程序,以便它不與任務欄重疊,如果你想避免重疊任務欄,那麼你可能想避免重疊的應用程序欄。

+0

這有點奇怪,正如你所建議的,不能保證這個區別是由任務欄造成的。也可以爲窗口類枚舉,並使用GetWindowRect。 –

+0

即時尋找財產以後簡單taskbar.position像API會給我留下,roght,底部或頂部 –

+0

@TumuluriVDattaVamshi你欣賞多個顯示器系統的精妙之處,並且在多個監視器上出現任務欄?鑑於這種微妙之處,你所尋找的東西顯然是不可能的。 –

相關問題