Autor Beitrag
wolle87
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 12.02.10 16:36 
Hi,

wie der Titel schon verrät, suche ich eine Möglichkeit wie ich die Tastenkombination "ALT+DRUCK" simulieren kann.

Gruß
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Fr 12.02.10 18:26 
Durch die Suche hab ich das gefunden:
www.delphi-forum.de/...reenshot+vom+fenster

Das verlinkt dorthin:
www.swissdelphicente.../showcode.php?id=259

Da steht der Code
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
// Capture the entire screen
// Screenshot des gesamten Bildschirms
procedure ScreenShot(Bild: TBitMap);
var
  c: TCanvas;
  r: TRect;
begin
  c := TCanvas.Create;
  c.Handle := GetWindowDC(GetDesktopWindow);
  try
    r := Rect(00, Screen.Width, Screen.Height);
    Bild.Width := Screen.Width;
    Bild.Height := Screen.Height;
    Bild.Canvas.CopyRect(r, c, r);
  finally
    ReleaseDC(0, c.Handle);
    c.Free;
  end;
end;


Wenn du da jetzt das Bild/Rect so anpasst, dass es so groß ist wie dein Fenster und Top/Left in das Rect schreibst => fertig :)

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
wolle87 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 12.02.10 18:33 
Danke für deine Antwort, allerdings wollte ich jetzt nicht wissen wie ich einen Screenshot machen kann sondern ich will diesen Tastendruck (ALT+Druck) simulieren.
Astat
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 75
Erhaltene Danke: 1

Windows 2000
D6, D7, D2007, Lazarus
BeitragVerfasst: Fr 12.02.10 18:35 
user profile iconwolle87 hat folgendes geschrieben Zum zitierten Posting springen:

..Möglichkeit wie ich die Tastenkombination "ALT+DRUCK" simulieren kann.


Hallo wolle87

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
//-- EDIT: Druck
keybd_event(VK_SNAPSHOT , 000);
keybd_event(VK_SNAPSHOT , 0, KEYEVENTF_KEYUP, 0);


//-- EDIT: Alt + Druck
keybd_event(VK_MENU , 000);
keybd_event(VK_SNAPSHOT , 000);
keybd_event(VK_SNAPSHOT , 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_MENU , 0, KEYEVENTF_KEYUP, 0);


lg. Astat
wolle87 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 12.02.10 21:59 
Jo das isses :)
Besten Dank!
Bitburki
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Do 03.06.10 15:02 
Könnte ich das jetzt auch direkt noch an den Standarddrucker senden?

Ich suche ein Coding, wo ich den Screenshot meiner Anwendung mache (oder einer Form) und dann direkt an den Drucker schicke... Vll. hat da jemand was...
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 04.06.10 14:52 
user profile iconBitburki hat folgendes geschrieben Zum zitierten Posting springen:
Ich suche ein Coding, wo ich den Screenshot meiner Anwendung mache (oder einer Form) und dann direkt an den Drucker schicke...
Und was soll dann der Blödsinn mit dem simulierten Tastendruck? Das packt das in die Zwischenablage (noch dazu unnötig kompliziert), wo du es gar nicht haben willst... Was hat das denn damit zu tun was du machen willst?

Oben steht der Quelltext wie du an das Bild mit dem Screenshot kommst (musst eben den Device Context des betreffenden Fensters angeben) und das kannst du dann ganz normal in Delphi drucken, fertig...