Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Desktop Screenshot (https://www.delphipraxis.net/43636-desktop-screenshot.html)

Knotti2015 6. Apr 2005 17:43


Desktop Screenshot
 
Hallo Leutz,

ich suche Tipps für das Programmieren eines Programmes welches Regelmäßig (1.Min)
einen Screenshot vom Desktop erstellt und automatisch als JPG Datei in einem Ordner abspeichert.

Wäre für eure Hilfe dankbar...

alcaeus 6. Apr 2005 17:44

Re: Desktop Screenshot
 
ScreenshotScreenshot bringt unter anderem das Thema hier: http://www.delphipraxis.net/internal...ect.php?t=2905

Greetz
alcaeus

Knotti2015 6. Apr 2005 17:49

Re: Desktop Screenshot
 
Danke für deine Antowrt wie baue ich den ein. Und wo wird die Zeit gesteuert in dem Code außerdem wird da die Datei doch als BMP und nicht als JPG gespeichert oder?

alcaeus 6. Apr 2005 17:51

Re: Desktop Screenshot
 
Zitat:

Zitat von Knotti2015
Danke für deine Antowrt wie baue ich den ein.

Z.B. in eine Funktion packen.

Zitat:

Zitat von Knotti2015
Und wo wird die Zeit gesteuert in dem Code

Delphi-Referenz durchsuchenTTimer

Zitat:

Zitat von Knotti2015
außerdem wird da die Datei doch als BMP und nicht als JPG gespeichert oder?

Delphi-Referenz durchsuchenTJPEGImage

Greetz
alcaeus

Knotti2015 6. Apr 2005 18:21

Re: Desktop Screenshot
 
http://www.delphipraxis.net/internal...ect.php?t=8024 geht das vielleicht auch damidt? wie kann ich es auslösen?

Knotti2015 6. Apr 2005 18:28

Re: Desktop Screenshot
 
mit diesem code

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var DCDesk: HDC; // hDC of Desktop
  bmp: TBitmap;
begin
  {Create a bitmap}
  bmp := TBitmap.Create;
   
  {Set a bitmap sizes}
  bmp.Height := Screen.Height;
  bmp.Width := Screen.Width;

  {Get a desktop DC handle - handle of a display device context}
  DCDesk := GetWindowDC(GetDesktopWindow);
 
  {Copy to any canvas, here canvas of an image}
  BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
         DCDesk, 0, 0, SRCCOPY);

  {Save the bitmap}
  bmp.SaveToFile('ScreenShot.bmp');

  {Release desktop DC handle}
  ReleaseDC(GetDesktopWindow, DCDesk);

  {Release a bitmap}
  bmp.Free;
end;
kann ich einen Desktop Screenshot machen aber wie konvertiere ich ihn nach jpeg

SirThornberry 6. Apr 2005 18:41

Re: Desktop Screenshot
 
konvertieren geht so
Delphi-Quellcode:
  VariableVomTypTJPEGImage.Assign(VariableVomTypBitmap);
und schon sollte dann dein JPEG den inhalt von dem Bitmap haben

Knotti2015 6. Apr 2005 18:51

Re: Desktop Screenshot
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var DCDesk: HDC; // hDC of Desktop
  bmp: TBitmap;
begin
  {Create a bitmap}
  bmp := TBitmap.Create;

  {Set a bitmap sizes}
  bmp.Height := Screen.Height;
  bmp.Width := Screen.Width;

  {Get a desktop DC handle - handle of a display device context}
  DCDesk := GetWindowDC(GetDesktopWindow);

  {Copy to any canvas, here canvas of an image}
  BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
         DCDesk, 0, 0, SRCCOPY);

  {Save the bitmap}
  bmp.SaveToFile('ScreenShot.bmp');

  {Release desktop DC handle}
  ReleaseDC(GetDesktopWindow, DCDesk);

  {Release a bitmap}
  bmp.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
  Timer1.Enabled := False;
end;

so sieht das jetzt aus kann ich irgentwie das konvertieren einbauen oder gleich es als jpg speichern lassen

Khabarakh 6. Apr 2005 19:19

Re: Desktop Screenshot
 
SirThornberry hat es doch schon beschrieben. Du musst im OnTimer-Event
Delphi-Quellcode:
bmp.SaveToFile('ScreenShot.bmp');
ersetzen.

Knotti2015 6. Apr 2005 19:44

Re: Desktop Screenshot
 
siehe unten:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz