Italia
Foro

Bildschirmspeicher auslesen

 

Georg
Bernhardt
Ciao,

gibt es eine Möglichkeit den gesamten Inhalt eines Fensters z.B. aus einem Browserfenster, das nicht ganz auf den Bildschirm passt (Scrollbalken rechts) auszulesen und in ein Grafikdatei zu speichern? Für Firefox gibt es eine Erweiterung, die das macht (ScreenGrab). Ich brauche aber ein Programm, das generell einsetzbar ist. Hat da jemand ein Idee?

Saluto

Georg
 
XProfan 10
05.02.2006  
 



Nein per eine generell-funktionierende Lösung fehlt es hier der Windows-GUI am nötigen Wissen.

Die Windows-GUI weiss nämlich selbst nicht was :

a) hinter einem Fenster per Pixel liegen
b) ausserhalb des Anzeigebereiches per Pixel liegen

Demzufolge kann dies immer nur von der eigendlichen Anwendung selbst erzeugt werden.
 
05.02.2006  
 




Frank
Abbing
Ciao,

sowas Ähnliches wurde schon öfter diskutiert.
Es ist so wie iF es angedeutet hat. Ein Programm necessario in der Regel einen HDC und eine Bitmap, um sein Fenster damit zu füllen. Zumindest eine Bitmap. Sobald Windows meldet, das ein Fenster neu gezeichnet werden muss, kopiert das Programm seinen HDC neu in den Fenster-DC. Windows selber kümmert sich aber um das Clipping und übernimmt dabei nur die beschnittenen Grafikdaten.
Möchte jetzt ein Fremdprogramm die Grafikdaten auslesen, kann es nur den Fensterhandle ermitteln und damit auch nur den Fenster-DC. Und somit erhält es nur die beschnittenen Daten. An die originalen Daten kann es nicht heran, weil der HDC per die Fensterrestaurierung nur dem Originalprogramm bekannt ist.
Ich sehe aber zwei Möglichkeiten, doch zum Ziel zu gelangen.

1. Das Originalprogramm stellt circa eine Schnittstelle den Handle auf seinen Restaurierungs-HDC zur Verfügung.

2. Snap-Programm analysiert den Maschinencode auf Vorkommen der API BitBlt(). Oder patched BitBlt() direkt. Ist aber nur was per echte Gurus. Also vergiss es.
 
05.02.2006  
 




Georg
Bernhardt
Ciao,

ich bastele immer noch daran herum ein Browserfenster vollständig auszulesen und nun müßte ich wissen, wie man die Bildschirmkoordinaten eines anderen Fensters (z.B.) Browserfenster (%getfocus?) auslesen kann. Darüber lege ich ein Profanfenster und mache einen Screenshot usw. usw.

Georg
 
XProfan 10
06.02.2006  
 




Frank
Abbing
API:

GetWindowRect()
GetClientRect()
 
06.02.2006  
 




Georg
Bernhardt
Ciao,

warum klappt das, Browserfenster ist aktuell

browserwin& = %getfocus
sendkey(browserwin&,34)

scrollt die Seite im Browserfenster

und das nicht

Beispiel zu api_GetWindowRect,USER32

Def @Getwindowrect(2) !USER32, GetWindowRect

Declare B#,Browserwin&, xl&,xr&,yo&,yu&
Browserwin& = %getfocus

Dim B#,16
@Getwindowrect(Browserwin&,B#)
xl& =Long(B#,0),
yo&=Long(B#,4)
xr&=Long(B#,8)
yu&=Long(B#,12)

Die Werte sind dann 0
Versteh ich nicht. Hat jemand eine Antwort?

Georg
 
XProfan 10
07.02.2006  
 




Jac
de
Lad
Ich kanns grad nicht ausprobieren, aber vielleicht hilft ja GetActiveWindow anstelle von %getfocus!
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
07.02.2006  
 




Georg
Bernhardt
Jawoll Du hast recht

Georg
 
XProfan 10
07.02.2006  
 



Hallo Georg, Du machst das wohl gerne was?

Ich rede vom Weglassen der [CODE]-Tags.

Mach mal bitte gerne CodeTags.
 
07.02.2006  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

6.775 Views

Untitledvor 0 min.
Erasmus.Herold20.11.2018
H.Hackl05.03.2012
Heiko Dix25.01.2011

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie