Win32 を使用したスクリーンショットのキャプチャ
質問:
Windows で現在の画面のスクリーンショットをキャプチャするにはどうすればよいですか?を使用したアプリケーションWin32?
回答:
Win32 を使用してスクリーンショットをキャプチャするには、次の手順に従います:
- を使用して画面のデバイス コンテキストを取得します。 GetDC(nullptr).
- キャプチャされた画像を保持するための互換性のあるデバイス コンテキストを作成しますCreateSupportedDC(hScreenDC) を使用します。
- 幅には GetDeviceCaps(hScreenDC, HORZRES)、高さには GetDeviceCaps(hScreenDC, VERTRES) を使用して画面解像度を取得します。
- 次を使用して画面解像度と互換性のあるビットマップを作成しますCreateSupportBitmap(hScreenDC, width,
- SelectObject(hMemoryDC, hBitmap) を使用してビットマップを互換性のあるデバイス コンテキストに選択します。
- BitBlt(hMemoryDC, 0, 0, width, height) を使用して画面のコンテンツをビットマップにコピーします、hScreenDC、0、0、SRCCOPY).
- ビットマップをコピーしますSelectObject(hMemoryDC, hOldBitmap) を使用してデバイス コンテキストに戻ります。
- DeleteDC(hMemoryDC) を使用して互換性のあるデバイス コンテキストを削除します。
- DeleteDC(hScreenDC) を使用して画面デバイス コンテキストを削除します。
以上がWin32 API を使用して Windows でスクリーンショットをキャプチャする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。