2014-12-27 77 views
-1

我有一個多顯示器設置。右側是主顯示器,左側是次顯示器。我想確定在哪個監視器中調用了我的窗口,以便我可以在該監視器中創建並顯示我的窗口。獲取當前活動顯示器的HMONITOR手柄

我有問題得到當前選定的監視器的句柄。

我嘗試使用MonitorFromWindow()API,但它總是給出主監視器句柄。因此,我的窗口始終顯示在主監視器中,而不管從哪個監視器調用它。

請幫我解決這個問題。

+0

有我sno「當前」監視器,所有監視器是當前和活動。 'MonitorFromWindow'可以讓你現在處理給定的窗口,如果你想要另一臺顯示器,那麼你需要枚舉顯示器並在那裏選擇你需要的顯示器。 –

+0

如何在我的用例中列舉監視器幫助。我需要知道從哪個監視器調用了我的窗口。 – user2338040

+0

在監視器枚舉('EnumDisplayMonitors' API)上查看[this question](http://stackoverflow.com/questions/26541484/enumdisplaymonitors-callback)。 –

回答

0

嘗試MonitorFromPoint,使用來自GetCursorPos的光標座標

+0

如果用戶只是將鼠標光標移動到其他顯示器上,該怎麼辦? – user2338040

+0

那麼你的問題很奇怪。我不完全明白你在做什麼。如果你的窗口在主監視器中,那麼MonitorfromWindow當然會給你主監視器。也許澄清你的問題以獲得更好的答案。 – tenfour

+0

我的應用程序在兩個監視器中運行。例如,如果用戶選擇(文件 - >幫助)菜單或在輔助監視器中按F1鍵,我需要在輔助監視器中創建並顯示我的幫助窗口。 – user2338040