Minidx Support Forum » 日本語ユーザ » マルチモニタAPIを使用するときによく発生するエラー


4-7-2007 07:39 dingzhigang
マルチモニタAPIを使用するときによく発生するエラー

Windowsにおいて、GetMonitorInfoやMonitorFromPointなどのマルチモニタAPIを使用するときによく発生するエラーと、その対処法を紹介します。

スクリーン上の座標x,yが属するモニタの情報を取得するため、以下のようなコードを書いたとします。

POINT Point = {x, y};
MONITORINFO MonitorInfo;
HMONITOR MonitorHandle = ::MonitorFromPoint(Point, MONITOR_DEFAULTTOPRIMARY);
MonitorInfo.cbSize = sizeof(MonitorInfo);
::GetMonitorInfo(MonitorHandle, &MonitorInfo);

特に変哲のない普通にコードですが、これだけのコードでもコンパイルエラーやリンクエラーに悩まされます。

最初に出会うのがこのコンパイルエラーです。

error C2065: 'MONITORINFO' : 定義されていない識別子です。

MOINTERINFOの説明(MSDN)を読むと、windows.hをインクルードするだけで良い様に思えますが、どうやらmultimon.hというヘッダファイルをインクルードする必要があるようです。

Page: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.