English
Regulars table & Café

ScreenShot-Tool

 
- Page 1 -



Dietmar
Horn
Hi,

knows someone one ScreenShot-Program, the one with not only the active Haupfenster abfotografieren can, separate which too whom each verwendeten Cursor with indicating? to -zig years I had something like already time had, find But unfortunately not any more.

for my XProfan-Textbook-proposition use I the small Progrämmchen "FastStone Capture" (in the XProfan-manager include), which so well How no Opportunities offenläßt. only whom Cursor fotografiert it even unfortunately (optinal) not.

Greeting
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
11/29/08  
 



 
- Page 2 -



Frank
Abbing
the here works at least wonderful:
CompileMarkSeparation
around the Cursor of their own Process To detect there indeed The API GetCursor().
 
12/01/08  
 



I faith You can above not always detect, which Cursor grade displayed becomes, to that example if another Process whom Cursor self definiert.

Perhaps really simply time 2 xprfs The one static on hWnd produce, both by SetClassLong a designed worth allocate, and mutual abprüfen. I faith namely the works not.
 
12/01/08  
 



Nachtrag: Perhaps was MS too so nice, and schleift a "globalen" hCursor somewhere through, and Perhaps too in GetClassLong(GetDesktopWindow(),GCL_HCURSOR) - but the would hold To Verify, whether this too z.B. Childs mind.

I würds but too cool find to know, as objectively works. would be immediate in "Programme" a Trayicon-Variante stored, The on one Hotkey reacted, and simply always only PNG on Desktop ablegt.

the would then z.B. for me the best Screenshot-Tool "auf Welt".

so How my ruler, hach I love my ruler...
 
12/01/08  
 




Normann
Strübli
@Dietmar

[...]  (vbcapture with demonstration)
[...]  (screenhunter Download of chip.de, How said Program not tested)

ought to functions, though The left from my first mail by me too weg...
 
12/01/08  
 




Frank
Abbing
iF, its simply whom actually Cursor To detect, verrenn you still not. Teste the time:
CompileMarkSeparation
 {$iq}
Declare x&,ilist&
x&=GetClassLong(GetActiveWindow(),GCL_HCURSOR)
ilist&=Create("ImageList", 32, 32)
ImageList("AddIcon", ilist&, x&)
Cls

Whileloop 1000

    DrawIcon ilist&, 0, Rnd(%maxx), Rnd(%maxy)

EndWhile

WaitInput
DeleteObject ilist&
End
 
12/01/08  
 



unfortunately not, look time:


no.png  
3 kB
Hochgeladen:12/01/08
Downloadcounter121
Download
 
12/01/08  
 




Frank
Abbing
OK, here's one better code. The has with my Tests each Zeiger gesnappt, except whom of Editfeldern:
CompileMarkSeparation
 {$iq}
Declare cur&,bereich#,a&,b&,x&,ilist&
Dim bereich#,256
Clear bereich#
Long bereich#,0=20
GetCursorInfo(bereich#)
x&=Long(bereich#,8)
a&=GetSystemMetrics(SM_CXCURSOR)
b&=GetSystemMetrics(SM_CYCURSOR)
ilist&=Create("ImageList", a&, b&)
ImageList("AddIcon", ilist&, x&)
Cls

Whileloop 1000

    DrawIcon ilist&, 0, Rnd(%maxx), Rnd(%maxy)

EndWhile

WaitInput
DeleteObject ilist&
Dispose bereich#
End
 
12/01/08  
 



the Zeigerfinden works so integrally well, and it yields itself one new Problem.

The Cursor having a gesetzten "HotSpot" - which XY To detect is well too necessary, around the korrekte position for the To zeichnende Icon To calculate.

goes the everything not somehow plainer?
 
12/01/08  
 




Frank
Abbing
too there might GetCursorInfo helpful his. look time into structure with ptScreenPos.

Nachtrag: MS writes to the API GetCursor:

windows 98 and windows NT 4.0 SP3 and later: To get information on the global cursor, even if it is hardship owned by the current thread, use GetCursorInfo.

.
functions indeed wonderful. Why the straight in Editboxen not works knows I unfortunately not. can only suppose, that there one other Zeigermedium used and is the eigentliche Cursor invisible is...
 
12/01/08  
 



not The Cursorposition, separate The position the gesetzten Hotspot/Mittelpunkt in the Icon whom one even of mouse.x and mouse.y subtrahieren must, to the draw the Icons.
 
12/01/08  
 




Frank
Abbing
iF
not The Cursorposition, separate The position the gesetzten Hotspot/Mittelpunkt in the Icon whom one even of mouse.x and mouse.y subtrahieren must, to the draw the Icons.


The supply you The API GetIconInfo().
 
12/02/08  
 



 
- Page 3 -



Frank
Abbing
here the complete code. The Dateiname for the Image ought to adjusted go or wählbar made go:
CompileMarkSeparation
 {$iq}
Declare cur&,bereich#,a&,b&,x&,ilist&
Dim bereich#,256

Proc Screenshot

    Parameters dname$
    Declare Hdc&
    Declare Hmdc&
    Declare Hbitmap&
    Declare maxX%, maxY%
    maxX%=%maxX
    maxY%=%maxY
    Hdc&=GetDC(0)
    Hmdc&=CreateCompatibleDC(hdc&)
    Hbitmap&=CreateCompatibleBitmap(hdc&,maxX%,maxY%)
    SelectObject(hmdc&,hbitmap&)
    BitBlt(hmdc&,0,0,maxX%,maxY%,hdc&,0,0,$0CC0020)
    ImageList_Draw(ilist&, 0, hmdc&, a&, b&, ILD_NORMAL)
    SavePic dname$, Hbitmap&
    DeleteObject hbitmap&
    DeleteDC(hmdc&)
    ReleaseDC(0,hdc&)

Endproc

Clear bereich#
Long bereich#,0=20
GetCursorInfo(bereich#)

If Long(bereich#,4)

    x&=Long(bereich#,8)
    a&=GetSystemMetrics(SM_CXCURSOR)
    b&=GetSystemMetrics(SM_CYCURSOR)
    ilist&=Create("ImageList", a&, b&)
    ImageList("AddIcon", ilist&, x&)
    a&=Long(bereich#,12)
    b&=Long(bereich#,16)
    Clear bereich#
    GetIconInfo(x&,bereich#)
    a&=a&-Long(bereich#,4)
    b&=b&-Long(bereich#,8)
    Screenshot("C://___Testpic.png")
    WaitInput
    DeleteObject ilist&

EndIf

Dispose bereich#
End
 
12/02/08  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

9.628 Views

Untitledvor 0 min.
Tommy08/10/16
Georg Teles07/09/15
Paul Glatz05/10/13
Julian Schmidt09/15/12
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