2012-01-31 3 views
2

私は2台のモニターを持っています。すべてのモニターがオンになっている場合は、私が目に見える幅を取得するために、次の使用することができますMFCでモニタの幅を表示するにはどうすればよいですか?

::GetSystemMetrics(SM_CXVIRTUALSCREEN); 

を私は2番目のモニタを抜いて、もう一度この関数を呼び出す場合は、私はまだだけではない(両方のモニタの幅を取得します目に見えるもの)。私が何をすることができるのか?

+3

「2番目のモニターのプラグを外した場合」 - Windowsはまだ2番目のモニターが接続されていると思っていますか?つまり、オフのときでもマウスを動かすことができますか?もしそうなら、私はあなたがこれを検知できるとは思っていません。 – Rup

+4

明らかに、Windowsはまだモニターが仮想スクリーンの一部だと考えています。これは、コードではなく、 "表示"コントロールパネルで対処する必要がある問題です。 'SM_CXVIRTUALSCREEN'には何も問題ありません。 –

答えて

1

提案:

  1. SM_CXSCREENまたはSM_CXFULLSCREENを試してみてください。
  2. お試しくださいGetDeviceCapsホーゼイズ
  3. お試しGetMonitorInfo
関連する問題