Autor Beitrag
_janosch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27



BeitragVerfasst: Mo 12.04.04 10:36 
Hallo,

ich habe folgendes Problem:

Nach der Eingabe eines Dateinamens im Savedialog will ich einen Screenshot von der gesamten Arbeitsfläche machen.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
function CaptureScreen:TBitmap;
var
  DC : HDC;
  ABitmap:TBitmap;
begin
  DC := GetDC (GetDesktopWindow);
  ABitmap:=TBitmap.Create;
  try
    ABitmap.Width  := GetDeviceCaps (DC, HORZRES);
    ABitmap.Height := GetDeviceCaps (DC, VERTRES);
    BitBlt(ABitmap.Canvas.Handle, 0, 0, ABitmap.Width,
           ABitmap.Height,DC, 0, 0, SRCCOPY);
  finally
    ReleaseDC (GetDesktopWindow, DC);
  end;
  Result:=ABitmap;
end;

Dabei wird die Arbeitsfläche jedoch nur teilweise angezeigt, oder aber ein Teil vom Savedialog ist noch sichtbar (bei 2 unterschiedlichen Rechnern)? :?!?:

Hat jemand schon einmal dieses Problem, und wie kann man dies umgehen ?

Ein sleep(...) oder form1.show hilgft da nicht! :?:
XeRo
Hält's aus hier
Beiträge: 6

Win XP
Delphi 7 Enterprise
BeitragVerfasst: Mo 12.04.04 13:54 
Du könntest ja einen timer einbauen und dann etwas zeitversetzt den screenshot machen...
ist zwar keine schöne lösung, aber mir fällt so spontan keine bessere ein...

_________________
I love AG
PhilGo
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 315

Win 98, Win Longhorn ;-)

BeitragVerfasst: Mo 12.04.04 16:43 
Hi,
schau dir mal mein Freeware-Prog an, vielleicht bringt es dich auf eine Idee...
( www.delphi-forum.de/viewtopic.php?t=23995 )


Mfg PhilGo

_________________
Sie werden dich finden und töten... Söhne der großen Bärin!
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Mo 12.04.04 17:01 
umdrehen, erst den Screenshot und dann den SaveDialog.

grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
PhilGo
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 315

Win 98, Win Longhorn ;-)

BeitragVerfasst: Di 13.04.04 10:50 
Genau! :wink:

_________________
Sie werden dich finden und töten... Söhne der großen Bärin!
_janosch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27



BeitragVerfasst: Di 13.04.04 17:54 
:oops: Das mit dem Umdrehen hat super funktioniert.
Dass ich da nicht selber drauf gekommen bin!!! :nut:

Danke.