AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Hintergrundwindow (hidden) kopieren und als BMP speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Hintergrundwindow (hidden) kopieren und als BMP speichern

Ein Thema von Karle_01 · begonnen am 13. Apr 2007 · letzter Beitrag vom 19. Dez 2011
Antwort Antwort
Karle_01

Registriert seit: 13. Apr 2007
1 Beiträge
 
#1

Hintergrundwindow (hidden) kopieren und als BMP speichern

  Alt 13. Apr 2007, 13:53
Hallo,

ich hätte ein Problem und würde mich freuen, wenn mir jemand helfen kann.

Ich möchte in Delphi einen Code schreiben. Dieser Code soll ein Fenster (Window) welches keinen Focus besitzt (hinter einer Anwendung ist) kopieren und die Kopie als Bild speichern. Eine Art Screenshot von einem hidden Window... Kann mir jemand diesbezüglich weiterhelfen?

Vielen Dank im Voraus!

Gruß
Karle
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Hintergrundwindow (hidden) kopieren und als BMP speicher

  Alt 28. Jun 2007, 18:04
Hab das Thema gerade durch die Suche gefunden, da ich selbst sowas machen möchte.
@Karle_01: Hast du es schon geschafft? Wenn nicht, weiß jemand anderes, wie man das hinbekommt?
Auf dieser Seite gibt es ein Programm, das sowas beispielsweise kann. Irgendwie wird es wohl gehen...

P@Tti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Benutzerbild von eDonkey
eDonkey

Registriert seit: 8. Okt 2011
11 Beiträge
 
Delphi 7 Personal
 
#3

AW: Hintergrundwindow (hidden) kopieren und als BMP speichern

  Alt 18. Dez 2011, 01:43
Ich hab das selbe Problem, da ich keinen Doppelpost machen möchte wärme ich mal diesen doch recht alten Threat auf. ich habe diverse funktionen dazu gefunden aber keine hatt funktioniert.
Hat noch nie jemand sowas gemacht?
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Hintergrundwindow (hidden) kopieren und als BMP speichern

  Alt 18. Dez 2011, 04:21
Mit WM_PRINT sollte das gehen. Allerdings hatte das afair den Haken, dass manche Controls nicht richtig gezeichnet werden oder sowas...
  Mit Zitat antworten Zitat
Benutzerbild von eDonkey
eDonkey

Registriert seit: 8. Okt 2011
11 Beiträge
 
Delphi 7 Personal
 
#5

AW: Hintergrundwindow (hidden) kopieren und als BMP speichern

  Alt 18. Dez 2011, 07:21
Danke für die Antwort, ich habe das mal in die funktion eingebaut, die mit nicht versteckten fenstern bei mir super klappt:

Delphi-Quellcode:
function ScreenshotHidden(wnd: HWND; const bmp: TBitmap): Boolean;
var
   PrintWindow: function(sHandle: HWND; dHandle: HDC; nFlags: UINT): BOOL; stdcall;
   rec: TRect;
begin
   Result := False;
   if dllh <> 0 then
   begin
     @PrintWindow:= GetProcAddress(dllh , 'PrintWindow');
     if @PrintWindow <> nil then
     begin
       SendMessage(wnd, WM_PRINT, 0, 0);
       GetWindowRect(wnd, rec); //has to stay dynamic
       bmp.Width := rec.Right - rec.Left;
       bmp.Height := rec.Bottom - rec.Top;
       result := PrintWindow(wnd, bmp.Canvas.Handle, 0);
     end;
   end;
end;
sieht nun so aus geht aber noch nicht, das TImage bleibt leer sofern das fenster versteckt ist.

PS: die dll wird bei mir statisch im OnCreate event der form geladen.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: Hintergrundwindow (hidden) kopieren und als BMP speichern

  Alt 18. Dez 2011, 08:21
die korrekte Implementierung findest Du dort:
http://www.delphipraxis.net/127741-s...anwendung.html

verdeckte oder außerhalb des Screen angezeigte Fenster (z.B. left -2000) bekommst Du so, versteckte im Sinne von hide nicht.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz