2010-04-09 4 views
6

Ich schreibe eine App, die die Screenshots automatisch aufnehmen muss (genau wie beim Drücken der PrintScreen-Taste). Bitte schlage mir vor, wie ich das machen kann. Ein rohes 24-Bit-BMP-Bild würde ausreichen.Alle Win32-APIs, um die Screenshots zu erhalten?

BITTE BEACHTEN SIE: Meine App ist in C, so dass Win32 APIs, die aus meinem Code aufgerufen werden können, ist, was ich suche.

(Manchmal hatte ich einen Codebeispielcode, um die Screenshots zu erhalten, aber den Mauszeiger, um zu blinken, wenn der Screenshot aufgenommen wurde. Wenn mehrere Aufnahmen gemacht werden, sieht das für den Benutzer irritierend aus wollen nicht der Mauszeiger zu blinken)

+1

Was haben Sie gefunden, als Sie Google nach winapi screenshot durchsucht haben? http://www.google.com/search?q=winapi+screenshot –

+1

Danke, Ich muss ein Idiot gewesen sein, das vorher nicht zu versuchen. Leider :) Das ist wirklich helfen ==> http://groups.google.com/group/win32-programming/browse_thread/thread/55c030edbaeaf026 – Microkernel

Antwort

11

GetDC(NULL) + BitBlt()

durchscheinend/alpha/Ebenen-Fenster zu erfassen, müssen Sie die CAPTUREBLT Flagge BitBlt passieren, wenn Sie das tun dass der Cursor blinkt, lesen Sie this technet article, um herauszufinden, warum.

Auf NT6 + können Sie möglicherweise die Magnification API verwenden, um zu tun, was Sie wollen.

+0

Hallo, Vielen Dank dafür. Jetzt erinnere ich mich daran, dass der eine Versuch, der den Mauszeiger zum Blinken brachte, GetDC() + BitBlt() war. Das ist das Hauptproblem :(Ich will nicht, dass der Zeiger blinkt ... Alle Möglichkeiten, um die Screenshots nahtlos zu bekommen ?? – Microkernel

+0

Nur nicht übergeben Sie die CAPTUREBLT Flag – Anders

Verwandte Themen