| |
|
|
- page 1 - |
|
Dietmar Horn | Salut,
kennt quelqu'un un ScreenShot-Programme, avec dem on pas seulement cela aktive Haupfenster abfotografieren peux, mais welches aussi den jeweils verwendeten Mauszeiger avec anzeigt? avant -zig Jahren J'ai eu quelque chose comme déjà la fois gehabt, finde es mais malheureusement pas plus.
Pour mon XProfan-Lehrbuch-projet verwende je cela kleine Progrämmchen "FastStone Capture" (im XProfan-Manager enthalten), welches si bien comment aucun Wünsche offenläßt. seulement den Mauszeiger fotografiert es plan malheureusement (optinal) pas avec.
Salut 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: [...] | 29.11.2008 ▲ |
|
|
|
|
| |
|
- page 2 - |
|
Frank Abbing | cela ici klappt zumindest wunderbar: KompilierenMarqueSéparation Um den Cursor des eigenen Prozess trop ermitteln gibt es oui aussi qui API GetCursor(). |
|
|
| |
|
|
|
| je crois tu peux par-dessus pas toujours ermitteln, quel Cursor grade angezeigt wird, zum Beispiel si un anderer Prozess den Cursor selbst défini.
peut-être wirklich simple la fois 2 xprfs qui un static sur hWnd erzeugen, beiden per SetClassLong une certain Wert zuweisen, et mutuel abprüfen. je crois nämlich cela klappt pas. |
|
|
| |
|
|
|
| Nachtrag: peut-être était MS aussi so gentil, et schleift une "globalen" hCursor irgendwo par, et peut-être aussi dans GetClassLong(GetDesktopWindow(),GCL_HCURSOR) - mais cela wäre arrêt trop vérifier, si cette aussi z.B. Childs beachtet.
je würds mais aussi toll trouver trop savons, comme réellement klappt. Wäre tout de suite dans "Programme" une Trayicon-variante abgelegt, qui sur un Hotkey reagiert, et simple toujours seulement PNG sur Desktop ablegt.
cela wäre ensuite z.B. pour mich cela beste Screenshot-Tool "auf Welt".
So comment mon Lineal, hach je liebe mon Lineal... |
|
|
| |
|
|
|
Normann Strübli | @Dietmar
[...] (vbcapture avec Demo) [...] (screenhunter Télécharger de chip.de, comment dit programm pas getestet)
Sollte marcher, quoique qui à gauche aus meinem ersten poste chez mir aussi aller... |
|
|
| |
|
|
|
Frank Abbing | |
|
| |
|
|
|
| malheureusement pas, exposition la fois:
|
|
|
| |
|
|
|
Frank Abbing | Ok, ici est un besserer Code. qui hat chez meinen Tests jeden aiguille gesnappt, ausser den de Editfeldern: KompilierenMarqueSéparation {$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#
Fin
|
|
|
| |
|
|
|
| cela Zeigerfinden klappt avec cela pas mal, et es ergibt sich un nouveau Problem.
qui Cursor avons une gesetzten "HotSpot" - dessen XY trop ermitteln ist wohl aussi nötig, à korrekte Position pour cela trop zeichnende Icon trop errechnen.
allez cela alles pas irgendwie einfacher? |
|
|
| |
|
|
|
Frank Abbing | aussi là pourrait GetCursorInfo hilfreich son. exposition la fois dans qui Struktur chez ptScreenPos.
Nachtrag: MS écrit trop qui API GetCursor:
Windows 98 and Windows NT 4.0 SP3 and later: To get information on le global cursor, even si il is not owned by le current thread, use GetCursorInfo. . Funktioniert oui aussi wunderbar. pourquoi cela justement dans Editboxen pas klappt weiss je malheureusement pas. peux seulement vermuten, dass là un d'autre Zeigermedium genutzt wird et qui eigentliche Mauszeiger unsichtbar ist... |
|
|
| |
|
|
|
| pas qui Cursorposition, mais qui Position des gesetzten Hotspot/Mittelpunkt im Icon welchen on plan de mouse.x et mouse.y subtrahieren muss, avant dem Zeichnen des Icônes. |
|
|
| |
|
|
|
Frank Abbing | iF
pas qui Cursorposition, mais qui Position des gesetzten Hotspot/Mittelpunkt im Icon welchen on plan de mouse.x et mouse.y subtrahieren muss, avant dem Zeichnen des Icônes.
qui liefert dir qui API GetIconInfo(). |
|
|
| |
|
|
| |
|
- page 3 - |
|
|
Frank Abbing | ici qui komplette Code. qui Dateiname pour cela Bild sollte angepasst volonté ou bien wählbar gemacht volonté: KompilierenMarqueSéparation {$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#
Fin
|
|
|
| |
|
|