2014-12-27 50 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