C++ Builder - screenshot

0

Mam male pytanie jak zrobic w C++ Builder tzw "screenshota" (tak aby byly widoczne okienka otwarte na pulpicie i sam pulpit). Domyslam sie ze jest do tego jakas funkcja(sluzaca tylko do tego)... i co jest wynikiem takiej funkcji (pewnie bitmapa).

0

najszybciej to zrobisz przez keybd_event() z klawiszem VK_SNAPSHOT :D
Później tylko otwierasz clipboard i masz handle do bitmapy. Można się zabawić w gdi32, ale tylko po to, żeby nie mieszać do tego schowka

0

TCanvas &PulpitCanvas = *new TCanvas();
Graphics::TBitmap *Bmp = new Graphics::TBitmap;

PulpitCanvas.Handle = GetDC(0);
Bmp->Width = Screen->Width;
Bmp->Height = Screen->Height;
Bmp->Canvas->CopyRect(Rect(0, 0, Bmp->Width, Bmp->Height), &PulpitCanvas, Rect(0, 0, Bmp->Width, Bmp->Height));

po wykonaniu bedziesz miec obraz w pamieci pod zmienna Bmp. Wystarczy przerzucic to np. do Image lub zapisac do pliku

1 użytkowników online, w tym zalogowanych: 0, gości: 1