1
私はデスクトップフレームをキャッチし、HBITMAP構造体に格納します。 その後、アプリケーションのメインウィンドウのデバイスコンテキストから適切なメモリデバイスコンテキストを作成した後、HBITMAPを選択し、StretchBltを使用してビットマップを表示します。Windows GDIコンテキスト - ビットマップを表示
しかし、黒い枠しか表示されないため、これは期待どおりに機能しません。 hdcとmem_hdcはそれぞれ、前に初期化されたメインウィンドウのデバイスコンテキストとメモリデバイスコンテキストです。
...
hDC desk_hdc, desk_mem_hdc;
BITMAP bitmap;
HBITMAP hbitmap;
desk_hdc = GetDC(NULL);
hbitmap = CreateCompatibleBitmap(desk_hdc, GetDeviceCaps(desk_hdc, HORZRES), GetDeviceCaps(desk_hdc, VERTRES));
GetObject(hbitmap, sizeof(BITMAP), &bitmap);
SelectObject(mem_hdc, hbitmap);
StretchBlt(hdc, 0, 0, 1024, 768, mem_hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, SRCCOPY|CAPTUREBLT|NOMIRRORBITMAP);
...
は、この権利を取得し、ハンドルをリークを避けるために定型SDKのコードサンプルを使用します。http://msdn.microsoft.com/en-us/library/dd183402%28v=VS.85% 29.aspx –