Français
Forum

Erledigt: Screenshot OHNE cela Programmfenster

 
- page 1 -



Sven
Bader
Hat irgendjemand une Solution dans seinem Fundus, une Screenshot sans cela aktuelle Programmfenster trop faire bzw. insbesondere une Screenshot de dem quoi justement sous meinem Programmfenster ist trop faire?

quoi je avec cela vorhabe?
je travaille viel avec freien Fensterformen, chez denen qui Kanten malheureusement toujours angefressen air à cause de fehlendem Antialiasing. eh bien habe je une Solution programmiert, quelle avec einer Alphamaske qui Pixel im Randbereich entsprechend avec dem Hintergrund mischt et so weiche Kanten erzeugt. Probleme gibt es ensuite, si sich qui Hintergrund ändert ou bien je cela la fenêtre seulement un kleines Stück verschiebe - c'est pourquoi brauche je une Screenshot de dem quoi sous dem Programmfenster ist.

si es ensuite la fois funktioniert, lieu Je l' Code volontiers zur Disposition
 
05.10.2009  
 



 
- page 1 -



Andreas
Miethe


iF, Beitrag=54398, Zeitpunkt=06.10.2009
Hehe gentil, oui c'est ca, je hatte mir aussi déjà überlegt, qui la fenêtre simple sich zeichnen trop laisser bzw. qui dessin abzukopieren.

je kannte qui user32s PrintWindow Funktion garnicht, simple super Andreas!


merci !

et ici encore un Beispiel pour alle sichtbaren la fenêtre sans cela eigene. Sollte ensuite wohl cela son quoi là gesucht wurde ?
Vieleicht peux cela Ganze encore un peu optimiert volonté.
KompilierenMarqueSéparation
 $H Windows.ph
 $H Messages.ph
Struct RECT = left&,top&,right&,bottom&
cls

Proc GetDesktop

    Declare h&
    h& = ~FindWindow("Progman",0)
    h& = ~FindWindowEx(h&, 0, "SHELLDLL_DefView",0)
    h& = ~FindWindowEx(h&, 0, "Internet Explorer_Server",0)

    if h& > 0

        Return h&

    else

        h& = ~FindWindow("Progman",0)
        h& = ~FindWindowEx(h&, 0, "SHELLDLL_DefView",0)
        h& = ~FindWindowEx(h&, 0, "SysListView32",0)
        Return h&

    endif

EndProc

erstmal ein DC für den Bildschirm
Var C_DC& = ~CreateCompatibleDC(%hdc)
Var C_Bitmap& = ~CreateCompatibleBitmap(%hdc,%maxx,%maxy)
~SelectObject(C_DC&,C_Bitmap&)
~ReleaseDC(C_DC&)
~SetStretchBltMode(C_DC&,~COLORONCOLOR)
FensterArray anlegen
DECLARE Windows&[],Anzahl&
sichtbare Fenster durchnumerieren
~EnumWindows(ProcAddr("NumWins",2),0)
zusammenblitten
MakePicture()
und gestreckt ins Fenster
~StretchBlt(%hdc2,0,0,width(%hwnd),height(%hwnd),C_DC&,0,0,%maxx,%maxy,~srccopy)
Repaint
~DeleteObject(C_Bitmap&)
~DeleteDC(C_DC&)
Waitinput
End

Proc Numwins

    Fensterhandle in Array
    Parameters wnd&,lParam&
    das eigene Fenster ausnehmen

    If ~IsWindowVisible(Wnd&) And (Wnd& <> %hwnd)

        Windows&[Anzahl&] = wnd&
        Inc Anzahl&

    Endif

    Return 1

EndProc

Proc MakePicture

    zusammenblitten
    Var R# = New(Rect)
    Declare W&,H&,DC&,Bitmap&
    in umgekehrter Reihenfolge

    Whileloop Anzahl&-1,0,-1

        ~GetWindowRect(Windows&[&Loop],R#)
        W& = Int(R#.right&-R#.left&)
        H& = Int(R#.bottom&-R#.top&)
        DC& = ~CreateCompatibleDC(%hdc)
        Bitmap& = ~CreateCompatibleBitmap(%hdc,W&,H&)
        ~SelectObject(DC&,Bitmap&)
        ~ReleaseDC(DC&)
        External("user32.dll","PrintWindow",Windows&[&Loop],DC&,0)
        ~Bitblt(C_DC&,R#.left&,R#.top&,R#.Right,R#.bottom&,DC&,0,0,~srccopy)
        ~DeleteObject(Bitmap&)
        ~DeleteDC(DC&)

    Endwhile

    Di
/a> R# ENDPROC
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
06.10.2009  
 



 
- page 2 -



Dieter
Zornow
alors chez funktioniert qui l'affaire malheureusement pas so toll. Es wird un assez zerstörter Bildschirm hinterlassen, den je avec finissons ou bien starten eines Programmes wieder herstellen muss. aussi qui Taskleiste muss je par überfahren qui Elemente wieder herstellen.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
07.10.2009  
 



Könntest Du vom Unheil une Screenshot faire?
 
07.10.2009  
 




Andreas
Miethe


Dieter Zornow, Beitrag=54400, Zeitpunkt=07.10.2009
alors chez funktioniert qui l'affaire malheureusement pas so toll. Es wird un assez zerstörter Bildschirm hinterlassen, den je avec finissons ou bien starten eines Programmes wieder herstellen muss. aussi qui Taskleiste muss je par überfahren qui Elemente wieder herstellen.


Sieht so aus, dass quelques System-la fenêtre de XP avec PrintWindow pas klarkommen.sous Vue klappt es sans Probleme.
qui Ansatz sollte mais richtig son. Es muss arrêt encore un gescheiter filtre pour qui System-la fenêtre rein.
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
07.10.2009  
 




Sven
Bader
qui Ansatz ist très intéressant. je befürchte malheureusement, dass es à Stabilität et Geschwindigkeit mangelt. Mir ist folgendes aufgefallen:

XP:
-qui Desktop wird toujours noir dargestellt
-Alle la fenêtre sommes "zerstört" et doit neugezeichnet volonté

Vue:
-qui rechte Moitié des Desktops wird noir dargestellt
-Fensterschatten volonté pas dargestellt
 
08.10.2009  
 




Andreas
Miethe


Sven Bader, Beitrag=54407, Zeitpunkt=08.10.2009
qui Ansatz ist très intéressant. je befürchte malheureusement, dass es à Stabilität et Geschwindigkeit mangelt. Mir ist folgendes aufgefallen:

XP:
-qui Desktop wird toujours noir dargestellt
-Alle la fenêtre sommes "zerstört" et doit neugezeichnet volonté

Vue:
-qui rechte Moitié des Desktops wird noir dargestellt
-Fensterschatten volonté pas dargestellt


allô Sven,
ensuite habe je et avec ca Interessantes pour toi. avec cela peux Du aussi freie Fensterformen faire.

110 kB
Hochgeladen:18.10.2009
Downloadcounter181
Download
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
18.10.2009  
 




Frank
Abbing
Hat ReleaseDC() pas deux paramètre?
 
20.10.2009  
 



bien sûr 2 [...]  . quoi mich toujours wieder daran erinnert, dass unsere HeaderFiles malheureusement aucun Parameterdefinitionen beinhalten sodass on pas automatisch überprüfen laisser peux.
 
20.10.2009  
 




Andreas
Miethe


allô zusammen,
cela Ganze ist eigentlich très simple, si on es car weiss.
BitBlt ignoriert Layered-Windows.
alors cela la fenêtre simple layered faire et déjà allez qui Screenshot sans cela la fenêtre.

@Frank, Du liest oui ici avec, cela betrifft aussi Dein Shooter-Tool,
veux Du avec cela aussi Layered-Windows capturer ensuite muss qui Bitblt-Flag um ~CAPTUREBLT erweitert volonté.
KompilierenMarqueSéparation
 $H Windows.ph
window %maxx/4,%maxy/4-%maxx/2,%maxy/2
SetStyle %Hwnd,1, GetStyle(%hwnd,1) | $80000
External("User32.dll","SetLayeredWindowAttributes",%hwnd,0,255,2)
waitinput
Var ScreenDC& = ~CreateDC("DISPLAY",0,0,0)
Var NB& =Create("hNewPic",%maxx,%maxy,0)
Startpaint nb&
~BitBlt(%hdc,0,0,%maxx,%maxy,ScreenDC&,0,0,~srccopy)
EndPaint
~DeleteDC(ScreenDC&)
DrawSizedPic NB&,0,0-width(%hwnd),Height(%hwnd);0
waitinput
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
25.10.2009  
 




Frank
Abbing

@Frank, Du liest oui ici avec, cela betrifft aussi Dein Shooter-Tool,
veux Du avec cela aussi Layered-Windows capturer ensuite muss qui Bitblt-Flag um ~CAPTUREBLT erweitert volonté.


merci pour den Hinweis! suis dans den letzten Tagen aussi sur den Flag gestossen, ist wirklich intéressant. exposition la fois, ici verwende je ihn erstmals: [...] 
 
25.10.2009  
 




Andreas
Miethe


Habe je verfolgt, très intéressant.

avec ist es aufgefallen chez meinem Screenshot-Tool et meiner neuen Desktopuhr ( ist encore im Betastadium ), qui wurde aussi pas eingefangen.

63 kB
Hochgeladen:25.10.2009
Downloadcounter153
Download
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
25.10.2009  
 




Frank
Abbing
Werde chez Gelegenheit changement, si Je l' Shooter-Code wieder offen hab.
 
25.10.2009  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

15.271 Views

Untitledvor 0 min.
Sven Bader09.03.2021
kustg11.12.2019
AndreasS17.12.2018
Wolfgang29.11.2016
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie