Quelle est la meilleure façon de faire des captures d'écran d'une Fenêtre avec C++ sous Windows?
Quelle est la meilleure (la plus simple) pour prendre une capture d'écran d'une application en cours d'exécution avec C++ sous Windows?
- Comment était cette question hors-sujet? Elle demande comment le faire par programmation, qui semble assez pertinent pour moi (et n'est pas trop rare).
- Hors-sujet? Vraiment?
Vous devez vous connecter pour publier un commentaire.
Vous devez obtenir le contexte de périphérique de la fenêtre (
GetWindowDC()
) et de copier l'image (BitBlt()
) de celui-ci. Selon ce que vous en savez à propos de l'application que vous allez utiliser différentes méthodes pour trouver la poignée de la fenêtre pour passer dansGetWindowDC()
.Sur le keybd_event fonction de la documentation, il indique que vous pouvez utiliser pour prendre une capture d'écran et l'enregistrer dans le presse-papiers. Par exemple:
Dans ma version (aide de Visual Studio 2005 est installé sur mon ordinateur), il indique que vous pouvez prendre une capture d'écran de l'ensemble du bureau en définissant le deuxième paramètre à 0, ou une capture d'écran en cours d'application par la valeur 1.
Prise de la sortie du tampon du presse-papiers est laissé comme exercice pour le lecteur.
Cependant j'aimerais bien réfléchir avant de faire cela car le gazon quelles que soient les données de l'image était déjà présent dans le presse-papiers.
Voici un exemple code
Vous pouvez faire
CaptureAnImage(GetDesktopWindow());
de faire une capture d'écran.