Egy screenshot az aktív ablak
Egy screenshot az aktív ablak
Csinálok egy ilyen eljárás
De valamilyen oknál fogva, ha az ablak maximalizált az üzenet képernyőn rögzíti a tálcán. Ha az ablak normál módban minden rendben.
Tesztelt csak win 7 XP nincs módja sem.
Mondja senki sem tudja, mi van a hiba?
A GetWindowDC funkció visszakeresi az eszköz keretében (DC) a teljes ablak, beleértve a címsor, menük, és a görgetősáv
> Screen rögzíti a tálca
Nem csak tálcán. A koordináták és a bal felső negatív méretét.
Mindez azért, mert a maximalizált ablakkeret kívül az ügyfél területre az asztalon. Ezért szükséges, hogy kivonja a keret méretét (GetSystemMetrics + SM_CX (Y) SIZEFRAME + SM_CX (Y) FIXEDFRAME) érte.
Bár, talán van egy másik módja annak, hogy ezt a méretet.
Használja GetDC nem GetWindowDC, és akkor boldogság.
és mi van sobstno GetDesktopWindow?
> CRLF (07.06.12 00:15) [5]
> A GetDC nem GetWindowDC, és akkor boldogság.
Biztos vagy benne?
robt # XA0; (07.06.12 13:20) [8]
Nos, a fenébe akkor írástudó.
Tudod, hogy mást kell csinálni?
Próbálom csinálni, mint ez, de kiderült, hogy egy űrlapot, amelynek nincs címe
eljárás TssThread.ScreenShortWindow (var BMP: TBitmap);
var H: THandle;
# XA0; # XA0; R: TRect;
kezdődik
Ez ellentétben GetWindowDC.
> Oszd meg a helyes kódot.
> Tudod hogy mást kell csinálni?
Alt + Ctrl + PrintScreen;)))
Az igazság nem nagyon tetszik, ha # XA0; (t.Left<0) then.
lehet valahogy csinálni nélküle)?
robt # XA0; (07.06.12 14:29), [15]
Ezután már így: Alt + PrintScreen