| Autor |
Beitrag |
Lorenz
Hält's aus hier
Beiträge: 6
|
Verfasst: Fr 30.12.05 11:32
Hi!
Ich möchte gerne die graphische Ausgabe, soll heißen den Bildschirm von Windows NT einfrieren, habe aber keinen Plan, wie ich das realisieren könnte...
Wär super, wenn ihr mir da ein bisschen unter die Arme greifen könntet...
Danke schonmal,
Lorenz
|
|
wolke
      
Beiträge: 240
|
Verfasst: Fr 30.12.05 11:37
ich weiß zwar nicht was du genau machen willst, aber spontan fällt mir das ein: mache einen screenshot und blende den auf vollbild ein.
|
|
Lorenz 
Hält's aus hier
Beiträge: 6
|
Verfasst: Fr 30.12.05 11:41
hi,
wow... kommen die Antworten hier immer so schnell??
Das wär zwar wenig elegant, aber denkbar... Also, wenn noch irgendwer eine elegantere Lösung hat, nur zu, ich werd mal die mit dem Screenshot ausprobieren...
Danke!
Lorenz
|
|
wolke
      
Beiträge: 240
|
Verfasst: Fr 30.12.05 11:49
ich glaube das ist die eleganteste lösung - du kannst nicht einfach die ausgabe aller programme einfrieren. du willst ja gleichzeitig auch ein gutes stabiles betriebssystem, und das erlaubt dir ein wirkliches einfrieren nunmal nicht.
|
|
Lorenz 
Hält's aus hier
Beiträge: 6
|
Verfasst: Fr 30.12.05 12:05
hast recht... dann versuch ich das jetzt mal so
|
|
Lorenz 
Hält's aus hier
Beiträge: 6
|
Verfasst: Fr 30.12.05 13:18
hi,
versuche nie, mich zu überzeugen, dass etwas nicht geht...(siehe signatur)
es geht nämlich...
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| PROGRAM test;
USES windows, mmsystem;
FUNCTION GetDesktopWindow: THandle; stdcall; external 'user32.dll';
VAR desktop: THandle; BEGIN desktop := getDesktopWindow; SendMessage(desktop, WM_SETREDRAW, WPARAM(FALSE), 0); sleep(10000); SendMessage(desktop, WM_SETREDRAW, WPARAM(TRUE), 0); END. |
Das einzigste Problem ist noch, es wird zwar das neuzeichnen aktiviert, aber ich muss jedes Fenster einmal minimieren und wiederherstellen, um es wirklich neuzuzeichnen.
Gibt es da nicht eine Funktion, die alles neuzeichnet?
Danke!
Lorenz
_________________ Achtung: Versucht NIEMALS, mich davon zu überzeugen, dass etwas nicht geht!!
"The Question is not, does it work, but HOW"
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Sa 31.12.05 11:58
Könntest auch eine Form im Vollbildmodus mit Transparentz 1 starten.
Leider gehen alle Tasten noch, d.h. man müsste einfach den Tastendruck verbieten.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Lorenz 
Hält's aus hier
Beiträge: 6
|
Verfasst: Sa 31.12.05 16:19
hi,
leider hab ich überhaupt keinen plan von sowas...
ich werd mal in der msdn schaun...
aber man könnte doch auch alle fenster minimieren, sprich den desktop zeigen, und dann alle fenster wiederherstellen, oder?
danke,
lorenz
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 29
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Sa 31.12.05 16:21
zu kompliziert, ich weiß nicht ob du da um globale hooks drumrum kommst, aber es sieht nicht so aus 
|
|
Lorenz 
Hält's aus hier
Beiträge: 6
|
Verfasst: Sa 31.12.05 16:27
Na gut, aber dann müsst ihr mir auf die sprünge helfen, wie ich ein fullscreen-formular mit einem screenshot drin erstelle, das blick ich nämlich garnicht...
danke schonmal
Lorenz
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 29
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Sa 31.12.05 16:29
ja formular ohne alles, dann machst du nen screenshot und zeichnest den ins canvas dann noch stayontop und vollbild, solltest du alles hier im forum finden, obwohl das net sooo die pralle lösung ist
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Sa 31.12.05 18:10
GTA-Place hat folgendes geschrieben: | Könntest auch eine Form im Vollbildmodus mit Transparentz 1 starten.
Leider gehen alle Tasten noch, d.h. man müsste einfach den Tastendruck verbieten. |
Wieso machst du es denn nicht so? Brauchste keine Hooks, brauchste keinen Screenshot, ...
Hier schonmal was um den Bildschrim "einfrieren" zu lassen:
OnCreate 1: 2: 3: 4: 5: 6: 7:
| begin Form1.AlphaBlend := True; Form1.AlphaBlendValue := 1; Form1.WindowState := wsMaximized; Form1.BorderStyle := bsNone; Form1.FormStyle := fsStayOnTop; end; |
Wie du den Tastendruck verhinderst, findest bei Google, etc.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
wolke
      
Beiträge: 240
|
Verfasst: Mi 04.01.06 13:17
transparenz ist ne schöne lösung - allerdings habe ich ihm das mit dem screenshot aus dem grund empfohlen, weil transparenz nunmal nicht gleich "einfrieren" ist: animierte elemente, die uhr und alle programme laufen nunmal weiter MIT bildschirmausgabe.
|
|