Maison >développement back-end >C++ >Comment puis-je capturer une capture d'écran d'une application spécifique en C# ?
Prendre des captures d'écran d'applications individuelles en C#
Bien que capturer une capture d'écran en plein écran avec Graphics.CopyFromScreen()
soit simple, capturer une application spécifique nécessite une technique plus sophistiquée. La solution optimale exploite la fonction API PrintWindow
Win32. Cette fonction permet de capturer l'image d'une fenêtre, quelle que soit sa visibilité ou si elle est cachée derrière d'autres fenêtres.
Voici un aperçu du processus :
GetWindowRect
pour obtenir le handle (HWND) de la fenêtre d'application que vous souhaitez capturer.PrintWindow
: Appelez la fonction PrintWindow
, en fournissant le handle de fenêtre et un handle vers un contexte de périphérique Windows (HDC). Cette fonction capturera le bitmap de la fenêtre.Bitmap
et récupérez son contexte Graphics
en utilisant Graphics.FromImage()
. Utilisez GetHdc()
pour récupérer le HDC du bitmap et transmettez-le à PrintWindow
.Graphics
pour éviter les fuites de ressources.Cette méthode garantit que vous pouvez capturer une capture d'écran précise d'une application cible, même si elle est partiellement ou complètement masquée.
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!