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ランキング
-
アプリが左側で開くようにした...
-
液晶モニタの見え方。下からだ...
-
iMacをモニターとして使えますか?
-
異なる解像度のディスプレイマ...
-
デスクトップPCの外部インター...
-
液タブのAdobe RGBカバー率って...
-
電子機器の液晶が欠けてきたの...
-
固定電話機の液晶が見えなくな...
-
液晶モニタの傷の直し方はあり...
-
液晶時計の表示が薄くなった
-
子機の液晶について
-
18.5インチの液晶の大きさ
-
電源ランプが点滅
-
キッチンパネルをDIYしたいので...
-
温度計液晶の表示が一部欠けて...
-
液晶モニタの電源が入らない
-
DFC動作時の意味を教えて下さい。
-
液晶は、磁気に弱い?
-
モニターの電源がついたり消え...
-
パチスロ電源ボックス修理 24V...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アプリが左側で開くようにした...
-
デスクトップPCとモニタにつき...
-
1920x1200のディスプレイをHDMI...
-
液晶モニタの見え方。下からだ...
-
複数台PCの映像を一台のモニタ...
-
マルチモニタの1画面化について
-
マルチモニター2台の両方に開...
-
スクエアからワイドモニタに変...
-
2台のmacminiを1台のモニターで...
-
モニタのサイズをVBAで取得する...
-
モニターへのミラーリング(?...
-
iMacをモニターとして使えますか?
-
1台のモニタに2台のPCを接続し...
-
最近新しいMacBookを購入しまし...
-
デスクトップサイズとノートパ...
-
PCとモニタ合計電気代で質問
-
PC9801BX2U7とミニD-sub15について
-
Windows98のマルチモニタには、...
-
imacについて教えて下さい!
-
Windowsマシンで一番小さいのは?
おすすめ情報