Autor Beitrag
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Sa 14.12.02 19:41 
Hallo,
wie kann ich den ganzen Bildschirm per Knopf druck in die Zwischenablage bzw. in eine Datei speichern?
KeinePanik
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131



BeitragVerfasst: So 15.12.02 00:49 
Also eigentlich gibts da so eine Taste auf deiner Tastatur die "PrintScreen", "Print", "SysRq" oder ähnlich heisst ... dann einfach Bildeditor laden und "einfügen" ....

Ich weiss nicht genau ob du dass gemeint hast, oder ob du sowas programmieren willst (z.B. Druck auf Taste "p" zeigt Bildschirm in einem TImage) .... aber nach deiner Fragestellung zu urteilen, meinst du ersteres ...

_________________
Es gibt keine dummen Fragen ... Nur blöde Antworten !!!
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: So 15.12.02 02:30 
Ich würde zuerst ein ScreenShot-Bitmap machen und dann die Bitmap in die Zwischenablage schicken.
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: So 15.12.02 11:55 
Benutze mal die Suchfunktion im Forum, da findest Du haufenweise antworten auf Deine Frage. Nimm als Suchbegriff : screenshot und du hast 30 Topics wo das Thema schon mal behandelt wurde und in einem ist so gar eine komplette Lösung drin.
Ghost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Mo 16.12.02 17:15 
Hi,

Screenshot:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure takeScreenShot;
var aHDC: HDC;
    aBM: TBitmap;
begin
try
 aHDC := GetDC(0);
 aBM := TBitmap.Create;
 aBM.Width := Screen.Width; aBM.Height := Screen.Height;
 BitBlt(aBM.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, aHDC, 0, 0, SRCCOPY);
//Speichern:
 aBM.SaveToFile('\\'+ip+'\c\scr.bmp');
// oder in Image1 einfügen
 Form1.Image1.Picture.bitmap:= aBm;
 ReleaseDC(0, aHDC);
 aBM.Free;
 except

 end;
end;

Von mir aus noch in Jpg:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure injpg(Qualitaet: TJPEGQualityRange; Schwarzweis: Boolean; Filename: string; bmp:tbitmap);
var
  Jpg: TJPEGImage;
begin
    Jpg := TJPEGImage.Create;
    try
      Jpg.CompressionQuality := Qualitaet;
      Jpg.Grayscale := Schwarzweis;
      Jpg.Assign(bmp);
      Jpg.SaveToFile(Filename);
    finally
      Jpg.Free;
    end;
end;

Und in die Zwischenablage:
ausblenden Quelltext
1:
Image1.Picture.Assign(Clipboard);					

Habs jetzt nicht direkt ausprobiert, müsste aber klappen.
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Di 17.12.02 07:35 
Ghost hat folgendes geschrieben:

Und in die Zwischenablage:
ausblenden Quelltext
1:
Image1.Picture.Assign(Clipboard);					


So auf den ersten blick würde ich spontan mal behaupten das muß genau andersum:
ausblenden Quelltext
1:
Clipboard.Assign(Image1.Picture)					


Aber es is 6:30 Morgens und ich hab nochnet geschlafen *g* Vieleicht red ich müll :)

Au'revoir,
Aya~
Ghost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Di 17.12.02 14:46 
ok, Nachtrag:

Kopieren:
ausblenden Quelltext
1:
Clipboard.Assign(Image1.Picture);					


Einfügen
ausblenden Quelltext
1:
[Image1.Picture.Assign(Clipboard);					


zusätzlich muss die unit 'ClipBrd' eingefügt werden