2012-11-16 25 views
2

如果顯示器的連接改變,Windows是否會發送任何消息?Windows多顯示器的位置

例如如果從WM_DEVICECHANGE插入PC中的新監視器,我會收到信息。

當我改變顯示器的位置時,我需要這樣的信息。

(在poisiton我的意思是: 第一臺顯示器的左側,第二臺顯示器到右側之後,我改變poisiton,第一監督權,第二次監測的左側。)

+0

我發現這個:http://msdn.microsoft.com/en-us/library/ms695534(v=vs.85).aspx從這個http://stackoverflow.com/questions/11004051/how-to -recognize-when-number-position-or-resolution-of-monitor-has-changed – Lucian

回答

1

你可以聽爲WM_DISPLAYCHANGE消息。

該文檔說它是在顯示器分辨率變化時發送的,但我在Win7上用Spy ++進行實驗表明它也是在多個顯示器上進行排列變化發送的(事實上,它是唯一發送的系統範圍通知那時候)。

+0

我看到了WM_DISPLAYCHANGE消息在改變位置時發送,但它只包含位深度和分辨率。我無法確定顯示器在哪裏。 – Golyo

+0

@戈利奧你怎麼最初確定顯示器的位置?當你從WM_DISPLAYCHANGE得到一個事件時,你不能重新調用這個方法嗎? – Ian

+0

@Golyo:使用[GetMonitorInfo](http://msdn.microsoft.com/en-us/library/dd144901%28VS.85%29.aspx) – Andrey