VisualC++です。
デスクトップイメージを取得するため、
CMainFrm内で、
CRect rect;
CWnd* pwWnd = GetDesktopWindow();
pwWnd->GetClientRect( &rect );
CDC* pwDC = pwWnd->GetDC();
とやって、このpwDCを使ってイメージを取得することに成功しました。
しかし、この方法では、シングルモニタの場合のみ成功し、マルチモニタでは、メインモニタのイメージのみが取れて、双方の画面のイメージはとれないようです。
わたしは今、モニタを2つ用意して、右側がメインモニタ、左側がサブモニタとしていますが、左側のモニタのイメージを取得するには、どうしたらよいでしょうか。
rectにも、メインモニタのサイズが入っています。
HDC hDC = ::CreateDC("DISPLAY", NULL, NULL, NULL);
CDC* pwHDC= CDC::FromHandle( hDC );
とやって、このpwHDCを使っても、メインモニタのみのデスクトップイメージしかとれないようです。
No.1ベストアンサー
- 回答日時:
こんばんは。
当方のPCはモニターが一台なので試し様が無いのですが、
http://msdn.microsoft.com/ja-jp/library/cc428502 …
によれば、
//モニターの台数分だけ呼ばれる筈
BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData)
{
MONITORINFOEX miex;
miex.cbSize = sizeof(miex);
::GetMonitorInfo(hMonitor, &miex);
if(miex.dwFlags == MONITORINFOF_PRIMARY)
{
//主モニター
}
//hdcMonitorからスクリーンショットを取る
return TRUE;
}
static void ScreenCopy()
{
HDC hDC = GetDC(NULL);
::EnumDisplayMonitors(hDC, NULL, &::MonitorEnumProc, 0);
::ReleaseDC(NULL, hDC);
}
の様にすると出来るのではないでしょうか。
お返事ありがとうございました。
コンパイルする際に、HMONITORがなかったり、リンクするときに、GetMonitorInfoがなかったり(user32.libをリンクするだけではだめ)と苦労しましたが、出来ました!
上記に上げていただいたサンプルプログラムは、大変、役に立ちました。
ありがとうござました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- モニター・ディスプレイ マルチモニタでのカーソルの動き方 1 2022/06/15 14:59
- ビデオカード・サウンドカード ASUSマザー、グラボ2枚刺しで4モニタに制約がある?少し腑に落ちない事象発生・・・ 4 2022/07/21 19:02
- モニター・ディスプレイ ノートpcにACアダプタ繋ぐと外部ディスプレイが映りません 2 2022/07/16 16:45
- モニター・ディスプレイ windows10 モニタに表示されなくなった 2 2023/08/04 16:58
- モニター・ディスプレイ DELL S2422HZ-R(WEBカメラ内蔵)のモニタをご存じの方。 4 2022/10/08 21:16
- モニター・ディスプレイ DisplayPortをHDMIに変換したらどっちの仕様になりますか? 3 2022/09/08 20:22
- ノートパソコン MacBook、USB他各ケーブルに強い方にお聞きします。 MacBook pro m1を保有してい 3 2022/10/05 23:58
- ビデオカード・サウンドカード ASROCK H370 PRO4 ×3 背面の画像出力 GTX 1070ti 背面の画像出力 ×5 1 2022/11/29 10:26
- モニター・ディスプレイ 2017年にBenQ モニター ディスプレイ GW2265HM 21.5インチうつりません 5 2022/11/12 20:04
- ビデオカメラ ビデオカメラを撮影しながらスマホに画面を映し出す方法はありますか? 2 2023/04/11 20:56
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アプリが左側で開くようにした...
-
マルチモニター2台の両方に開...
-
最近新しいMacBookを購入しまし...
-
モニターが映らない
-
2台のmacminiを1台のモニターで...
-
マルチモニタの1画面化について
-
勝手にデュアルモニタになります
-
ノートPCでマルチモニタは可能か
-
異なる解像度のディスプレイマ...
-
ディスプレイ分配
-
スクエアからワイドモニタに変...
-
PCとTVをhdmiで接続しても上手...
-
デスクトップサイズとノートパ...
-
DELLのデスクトップのInspiron ...
-
液晶のディスプレイの故障でグ...
-
マルチモニタ対応のデスクトッ...
-
リフレッシュレートの上げ方
-
パソコンの画面に天気の晴れマ...
-
電子機器の液晶が欠けてきたの...
-
液晶モニタの傷の直し方はあり...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アプリが左側で開くようにした...
-
液晶モニタの見え方。下からだ...
-
1920x1200のディスプレイをHDMI...
-
マルチモニタの1画面化について
-
複数台PCの映像を一台のモニタ...
-
マルチモニター2台の両方に開...
-
2台のmacminiを1台のモニターで...
-
iMacをモニターとして使えますか?
-
モニタのサイズをVBAで取得する...
-
iPadの画面をミラーリングする...
-
放送局でのHD-SDI使用について
-
モニターが映らない
-
液タブのAdobe RGBカバー率って...
-
1台のモニタに2台のPCを接続し...
-
マルチモニターについてですが...
-
[このモニタでは表示できないモ...
-
パソコンの画面に天気の晴れマ...
-
液晶が映りません
-
ノートパソコンの画面やデスク...
-
勝手にデュアルモニタになります
おすすめ情報