掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
デスクトップイメージをセーブするには? (ID:66662)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
俺も超初心者なんであってるかどうか分かりませんが、同じようなことをつい最近cでやりましたので、いつもここでお世話さんになっているので //ウィンドウのクライアント領域を、ビットマップファイルとして保存する BOOL SaveClientImage(HWND hwnd, LPCTSTR szPath) { HDC hdc, hdc_mem; HBITMAP hBmp, hBmpOld; RECT rc; int cxClient, cyClient; GetClientRect(hwnd, &rc); cxClient = rc.right - rc.left; cyClient = rc.bottom - rc.top; hdc = GetDC(hwnd); hBmp = CreateCompatibleBitmap(hdc, cxClient, cyClient); hdc_mem = CreateCompatibleDC(hdc); hBmpOld = SelectObject(hdc_mem, hBmp); BitBlt(hdc_mem, 0, 0, cxClient, cyClient, hdc, 0, 0, SRCCOPY); //クライアント領域をメモリデバイスコンテキストにコピー //これでhBMPにクライアント領域全体がコピーされる SelectObject(hdc_mem, hBmpOld); DdbSaveImage(hdc, hBmp, szPath); ReleaseDC(hwnd, hdc); return TRUE; } こんな感じでいけました。 ただ余所のサイトでGDI+っていうものを使えといわれて、試したところそれでも大丈夫でした。(ていうかずっと簡単でした。)
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.