Maison > développement back-end > C++ > Comment capturer une capture d'écran de tout l'écran à l'aide de l'API Win32 ?

Comment capturer une capture d'écran de tout l'écran à l'aide de l'API Win32 ?

DDD
Libérer: 2024-12-05 11:16:11
original
905 Les gens l'ont consulté

How to Capture a Screenshot of the Entire Screen Using the Win32 API?

Prendre des captures d'écran dans des applications Windows avec Win32

Obtenir une capture d'écran de l'écran actif est une exigence courante dans le développement d'applications Windows. L'API Win32 fournit les fonctions nécessaires pour capturer le contenu à l'écran et l'enregistrer sous forme de fichier image.

Comment prendre une capture d'écran dans Win32 ?

Prendre une capture d'écran dans une application Win32, suivez ces étapes :

  1. Récupérez le contexte de l'appareil de l'écran d'affichage à l'aide GetDC(nullptr).
  2. Créez un contexte de périphérique compatible à l'aide de CreateCompatibleDC(hScreenDC) pour le dessin.
  3. Déterminez les dimensions de l'écran à l'aide de GetDeviceCaps(hScreenDC, HORZRES) et GetDeviceCaps(hScreenDC, VERTRES) .
  4. Créez un bitmap compatible pour stocker la capture d'écran données à l'aide de CreateCompatibleBitmap(hScreenDC, width, height).
  5. Sélectionnez le bitmap créé dans le contexte du périphérique compatible à l'aide de SelectObject(hMemoryDC, hBitmap).
  6. Copiez le contenu de l'écran dans le bitmap à l'aide de BitBlt( hMemoryDC, 0, 0, largeur, hauteur, hScreenDC, 0, 0, SRCCOPY).
  7. Désélectionnez le bitmap du contexte de périphérique compatible et restaurez le bitmap d'origine à l'aide de SelectObject(hMemoryDC, hOldBitmap).
  8. Libérez les ressources en supprimant à la fois le contexte de périphérique compatible et le périphérique d'écran. contexte en utilisant DeleteDC(hMemoryDC) et DeleteDC(hScreenDC).

Ce processus vous permet pour capturer la totalité de l'écran et le stocker sous forme d'image bitmap. Le bitmap peut ensuite être enregistré dans un fichier ou affiché dans l'application si nécessaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal