0
我正在爲Pokerstars建立一個HUD以顯示一些相關的統計信息。如何檢查部分外部窗口是否覆蓋
Overlay是一個UserControl:窗體,我將它從狀態欄和Alt + T中的winapi中隱藏起來。 實際上可以有最頂層,在Pokertable爲始終,但是這會導致一些副作用:
我連着screnshot顯示我的問題
- 1:一切OK
- 2:只是一個部分Pokertable被我的網頁瀏覽器覆蓋,在這種情況下,HUD顯示(OK!)
- 3:瀏覽器覆蓋放置HUD的Pokertable區域。在這種情況下,我的HUD不應該是TopMost;
數據我有:
- IntPtr的手柄
- 點位置(在屏幕上)
- 點尺寸(從窗口)
其中WinAPI的函數(的PokerTable)可以幫助ne?誰知道一些例子? 當然,它的可能,有Porgram(撲克追蹤器,HoldemManager)解決了這個挑戰。
使用TopMost將永遠在PokerTable的頂端。所以如果用戶點擊它,HUD可能不會被覆蓋。
//編輯
我與1毫秒intervalls定時器做到了現在,它的工作60%,具有一定的sideffects。因爲沒有更好的
if (GetForegroundWindow() == TableHandle) {
this.TopMost = true;
} else {
this.TopMost = false;
}