English
Forum

Done: Screenshot WITHOUT the Program-Window

 

Sven
Bader
has someone a Solution in its Fundus, a Screenshot without the actually Program-Window To make or. particularly a Screenshot from the what straight under my Program-Window is To make?

what I so vorhabe?
I work plenty with disengaged Fensterformen, with them The Kanten unfortunately always angefressen looks because of fehlendem Antialiasing. now have I a Solution program, which with of/ one Alphamaske The Pixel in the Randbereich properly with the background mix and so weiche Kanten created. Problems there then, if itself the background changes or I the window only one small Piece shift - therefore need I a Screenshot from the what under the Program-Window is.

If it then time functions, place I the code gladly available
 
10/05/09  
 



The Pixel under a window are imho not really somewhere stored.
 
10/05/09  
 




Sven
Bader
must tappt im dunkeln, otherwise were it ex windows xp no teiltransparenten window!

90 kB
Hochgeladen:10/05/09
Downloadcounter100
Download
 
10/05/09  
 




Dieter
Zornow
Perhaps can you before your Window visible becomes, means at started a Screenshot make. but this is think I no Solution. If I to that example 3 programs open have and the schließe changed itself everything. You müsstest permanent each second a make.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
10/05/09  
 




Sven
Bader
I make already permanent screenshots and save thereby always The actually position of my program from - the functions correctly. well only even then not if itself eigenständig something under the Program-Window changes or I it only one winziges part shift.

have another indiz for the it weg must ;) there's bildschirmlupen, which directly under the cursor showing.
 
10/05/09  
 




Frank
Abbing
Sven Bader, Beitrag=54385, Zeitpunkt=05.10.2009
must tappt im dunkeln, otherwise were it ex windows xp no teiltransparenten window!


Hm, I faith, each Program must his Window yourself restaurieren. the system verfügt over no copy. it toggles itself only between, if The Optik transparent erfolgen should and regelt then properly The grafically spending.
 
10/06/09  
 



Sven Bader, Beitrag=54385, Zeitpunkt=05.10.2009
must tappt im dunkeln, otherwise were it ex windows xp no teiltransparenten window!


No, that is no reason, windows überzeichnet only The vorderen regions not.
 
10/06/09  
 




Sven
Bader
here works too without transparency:
[...] 
 
10/06/09  
 



No, here becomes only one Image of Desktop shut and this becomes then gezoomt - as would one Window Style 16 | 32 | 64 benefit. Pretty Lupe. ^^
 
10/06/09  
 




Andreas
Miethe


iF, Beitrag=54384, Zeitpunkt=05.10.2009
The Pixel under a window are imho not really somewhere stored.


You can but nevertheless drankommen on these Pixel.

the Beipiel blittet The Pixel of Desktop into DC and of there stretched in that Profanfenster.
around the with all visible, except the own window To make, must means The Window counted go, The position and Z-order determined go. thereafter can then for each Window How in the example one DC made and be everything zusammengeblittet go. and already have You one nice Image of screen without your Window.
CompileMarkSeparation
 $H Windows.ph
 $H Messages.ph
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)
Desktop in DC blitten, es spielt kein Rolle, ob sich da ncoh Fenster befinden
Var Desktop& = GetDesktop()
External("user32.dll","PrintWindow",Desktop&,C_DC&,0)
und jetzt in Profanfenster
~StretchBlt(%hdc2,0,0,width(%hwnd),height(%hwnd),C_DC&,0,0,%maxx,%maxy,~srccopy)
Repaint
~DeleteObject(C_Bitmap&)
~DeleteDC(C_DC&)
Waitinput
End
 
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 :  [...] 
10/06/09  
 



Hehe nice, very, I had me already consider, The Window simply itself draw To let or. The drawing abzukopieren.

I knew The user32s PrintWindow function not at all, simply super Andreas!
 
10/06/09  
 




Andreas
Miethe


iF, Beitrag=54398, Zeitpunkt=06.10.2009
Hehe nice, very, I had me already consider, The Window simply itself draw To let or. The drawing abzukopieren.

I knew The user32s PrintWindow function not at all, simply super Andreas!


thanks !

and here another example for all visible Window without the Own. ought to then well the his what there sought watts ?
Vieleicht can the whole another little optimiert go.
CompileMarkSeparation
 $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 :  [...] 
10/06/09  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

15.571 Views

Untitledvor 0 min.
Member 5044459 vor 7 Tagen
Sven Bader03/09/21
kustg12/11/19
AndreasS12/17/18
More...

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie