2010-04-09 16 views
6

Ekran görüntülerini otomatik olarak alması gereken bir uygulama yazıyorum (PrintScreen düğmesine basma gibi). Öyleyse lütfen bunu nasıl yapacağımı öner. Bir ham 24 bit BMP görüntüsü yeterli olur.Ekran görüntülerini almak için herhangi bir Win32 API'sı var mı?

LÜTFEN DİKKAT: Uygulamam C içinde, bu yüzden kodumdan aranabilecek herhangi bir win32 API'si aradığım şey.

(Bazen, ekran görüntüsü alınırken fare işaretçisinin kullanıcı tarafından yanıp sönen ekran görüntüsünü almak için kullanılan kod programından örnek bir kod aldım. Birden çok çekim yapıldığı için bu kullanıcı için rahatsız edici görünüyor. fare işaretçisi yanıp istemiyoruz) Belki

+1

Google'ın winapi ekran görüntüsü için arandığında ne buldunuz? http://www.google.com/search?q=winapi+screenshot –

+1

Teşekkürler, Daha önce denememek için bir aptal olmalıydım. Üzgünüz :) Bu gerçekten yardım ==> http://groups.google.com/group/win32-programming/browse_thread/thread/55c030edbaeaf026 – Microkernel

cevap

11

GetDC(NULL) + saydam/alfa/katmanlı pencereler yakalamak için BitBlt()

, sen BitBlt için CAPTUREBLT bayrağı geçmelidirBu, imleç yanıp sönüyor, nedenini bulmak için this technet article'u okuyun.

NT6 + 'da, ne istediğinizi yapmak için Magnification API kullanabilirsiniz.

+0

Merhaba, Bunun için teşekkürler. Şimdi hatırlıyorum, fare işaretçisinin göz kırpmasına neden olan tek girişim GetDC() + BitBlt() idi. Thats ana sorun :(I işaretçisi yanıp sönmesini istemiyorum ... Ekran görüntüleri almak için herhangi bir yol gibi görünüyor ??? – Microkernel

+0

Sadece CAPTUREBLT bayrak geçmek – Anders