ホームページ >バックエンド開発 >C++ >Win32 API を使用して Windows でスクリーンショットをキャプチャする方法?

Win32 API を使用して Windows でスクリーンショットをキャプチャする方法?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-22 11:00:15654ブラウズ

How to Capture a Screenshot in Windows Using Win32 API?

Win32 を使用したスクリーンショットのキャプチャ

質問:

Windows で現在の画面のスクリーンショットをキャプチャするにはどうすればよいですか?を使用したアプリケーションWin32?

回答:

Win32 を使用してスクリーンショットをキャプチャするには、次の手順に従います:

  1. を使用して画面のデバイス コンテキストを取得します。 GetDC(nullptr).
  2. キャプチャされた画像を保持するための互換性のあるデバイス コンテキストを作成しますCreateSupportedDC(hScreenDC) を使用します。
  3. 幅には GetDeviceCaps(hScreenDC, HORZRES)、高さには GetDeviceCaps(hScreenDC, VERTRES) を使用して画面解像度を取得します。
  4. 次を使用して画面解像度と互換性のあるビットマップを作成しますCreateSupportBitmap(hScreenDC, width,
  5. SelectObject(hMemoryDC, hBitmap) を使用してビットマップを互換性のあるデバイス コンテキストに選択します。
  6. BitBlt(hMemoryDC, 0, 0, width, height) を使用して画面のコンテンツをビットマップにコピーします、hScreenDC、0、0、SRCCOPY).
  7. ビットマップをコピーしますSelectObject(hMemoryDC, hOldBitmap) を使用してデバイス コンテキストに戻ります。
  8. DeleteDC(hMemoryDC) を使用して互換性のあるデバイス コンテキストを削除します。
  9. DeleteDC(hScreenDC) を使用して画面デバイス コンテキストを削除します。

以上がWin32 API を使用して Windows でスクリーンショットをキャプチャする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。