Was ist der beste Weg, Screenshots eines Windows mit C++ in Windows zu machen?




c++ screenshot to file (2)

Hier ist ein Beispielcode
Sie können CaptureAnImage(GetDesktopWindow()); um eine Bildschirmaufnahme zu machen.

Was ist der beste (einfachste) Weg, um einen Screenshot einer laufenden Anwendung mit C ++ unter Windows zu machen?


In der Funktionsdokumentation keybd_event wird angegeben, dass Sie damit einen Screenshot keybd_event und in die Zwischenablage speichern können. Beispielsweise:

keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_SILENT, 0);

In meiner Version (Visual Studio 2005-Hilfe auf meinem Computer installiert) wird angegeben, dass Sie einen Screenshot des gesamten Desktops erstellen können, indem Sie den zweiten Parameter auf 0 oder einen Screenshot der aktuellen Anwendung festlegen, indem Sie ihn auf 1 setzen.

Das Herausnehmen aus dem Zwischenspeicherpuffer wird dem Leser als Übung überlassen.

Ich würde jedoch vorher sorgfältig darüber nachdenken, ob die Bilddaten bereits in der Zwischenablage vorhanden sind.





screenshot