Heim >Backend-Entwicklung >C++ >Wie erstelle ich einen Screenshot in Windows mithilfe der Win32-API?

Wie erstelle ich einen Screenshot in Windows mithilfe der Win32-API?

Linda Hamilton
Linda HamiltonOriginal
2024-12-22 11:00:15597Durchsuche

How to Capture a Screenshot in Windows Using Win32 API?

Erfassen eines Screenshots mit Win32

Frage:

Wie erstelle ich einen Screenshot des aktuellen Bildschirms in einem Windows Anwendung mit Win32?

Antwort:

Um einen Screenshot mit Win32 aufzunehmen, befolgen Sie diese Schritte:

  1. Erhalten Sie einen Gerätekontext für den Bildschirm mit GetDC(nullptr).
  2. Erstellen Sie einen kompatiblen Gerätekontext zum Speichern des erfassten Bildes mit CreateCompatibleDC(hScreenDC).
  3. Erhalten Sie die Bildschirmauflösung mit GetDeviceCaps(hScreenDC, HORZRES) für die Breite und GetDeviceCaps(hScreenDC, VERTRES) für die Höhe.
  4. Erstellen Sie mit CreateCompatibleBitmap eine kompatible Bitmap mit der Bildschirmauflösung (hScreenDC, Breite, Höhe).
  5. Wählen Sie die Bitmap im kompatiblen Gerät aus Kontext mit SelectObject(hMemoryDC, hBitmap).
  6. Kopieren Sie den Bildschirminhalt in die Bitmap mit BitBlt(hMemoryDC, 0, 0, width, height, hScreenDC, 0, 0, SRCCOPY).
  7. Kopieren Sie die Bitmap mit SelectObject(hMemoryDC, hOldBitmap).
  8. Löschen Sie den kompatiblen Gerätekontext mit DeleteDC(hMemoryDC).
  9. Löschen Sie den Bildschirmgerätekontext mit DeleteDC(hScreenDC).

Das obige ist der detaillierte Inhalt vonWie erstelle ich einen Screenshot in Windows mithilfe der Win32-API?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn