Español
Stammtisch & Café

ScreenShot-Tool

 
- Página 1 -



Dietmar
Horn
¡Hola,

sabe alguien una ScreenShot-Programa, con el uno no sólo el aktive Haupfenster abfotografieren kann, pero welches auch el jeweils verwendeten Mauszeiger con anzeigt? Vor -zig Jahren Tuve algo como ya veces gehabt, finde lo aber por desgracia, no mehr.

Für mein XProfan-Lehrbuch-Projekt verwende Yo el kleine Progrämmchen "FastStone Capture" (en el XProfan-Manager enthalten), welches casi no Wünsche offenläßt. Nur el Mauszeiger fotografiert lo eben desafortunadamente (optinal) no con.

Saludo
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  
 



 
- Página 2 -



Frank
Abbing
Das hier klappt zumindest wunderbar:
KompilierenMarcaSeparación
Um el Cursor des eigenen Prozess a ermitteln hay en efecto el API GetCursor().
 
01.12.2008  
 



Yo glaube Usted puede darüber no siempre ermitteln, welcher Cursor grade adecuado se, para Ejemplo si una otro Prozess el Cursor incluso definiert.

Tal vez wirklich simplemente veces 2 xprfs el una static en hWnd erzeugen, beiden por SetClassLong una cierto Valor zuweisen, y gegenseitig abprüfen. Yo glaube nämlich el klappt no.
 
01.12.2008  
 



Apéndice: Tal vez war MS auch así nett, y schleift una "globalen" hCursor irgendwo por, y tal vez auch en GetClassLong(GetDesktopWindow(),GCL_HCURSOR) - aber el wäre sólo a prüfen, si dieser auch z.B. Childs beachtet.

Yo würds aber auch toll encontrar a wissen, como tatsächlich klappt. Wäre inmediatamente en "Programme" una Trayicon-Variante abgelegt, el en una Hotkey reagiert, y simplemente siempre sólo PNG en Desktop ablegt.

Das wäre entonces z.B. para mich el beste Screenshot-Tool "auf Welt".

So como mein Lineal, hach Yo liebe mein Lineal...
 
01.12.2008  
 




Normann
Strübli
@Dietmar

[...]  (vbcapture con Demo)
[...]  (screenhunter Descargar de chip.de, como dijo programm no getestet)

Sollte trabajo, obwohl el Links de mi ersten Post en me auch ir...
 
01.12.2008  
 




Frank
Abbing
IF, es simplemente el aktuellen Cursor a ermitteln, verrenn dich doch no. Teste el veces:
KompilierenMarcaSeparación
 {$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
 
01.12.2008  
 



Leider no, schau mal:


no.png  
3 kB
Hochgeladen:01.12.2008
Ladeanzahl121
Descargar
 
01.12.2008  
 




Frank
Abbing
Ok, hier es una besserer Code. Der ha en media Tests cada Zeiger gesnappt, salvo el de Editfeldern:
KompilierenMarcaSeparación
 {$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
 
01.12.2008  
 



Das Zeigerfinden klappt así bastante bien, y lo ergibt se una nuevo problema.

El Cursor haben una gesetzten "HotSpot" - dessen XY a ermitteln es wohl auch nötig, a korrekte Position para el a zeichnende Icon a calcular.

Geht el alles no irgendwie einfacher?
 
01.12.2008  
 




Frank
Abbing
Auch como dürfte GetCursorInfo hilfreich ser. Schau veces en el Struktur en ptScreenPos.

Apéndice: MS schreibt a el API GetCursor:

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

.
Funktioniert en efecto wunderbar. ¿Por qué el gerade en Editboxen no klappt blanco Yo por desgracia, no. Kann sólo vermuten, dass hay una más Zeigermedium genutzt se y eigentliche Mauszeiger unsichtbar es...
 
01.12.2008  
 



No el Cursorposition, pero el Position des gesetzten Hotspot/Mittelpunkt en el Icon welchen uno eben de mouse.x y mouse.y subtrahieren muss, antes el Dibujar des Icons.
 
01.12.2008  
 




Frank
Abbing
IF
No el Cursorposition, pero el Position des gesetzten Hotspot/Mittelpunkt en el Icon welchen uno eben de mouse.x y mouse.y subtrahieren muss, antes el Dibujar des Icons.


El liefert dir el API GetIconInfo().
 
02.12.2008  
 



 
- Página 3 -



Frank
Abbing
Hier el komplette Code. Der Dateiname para el Bild debería adaptado voluntad oder wählbar gemacht voluntad:
KompilierenMarcaSeparación
 {$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
 
02.12.2008  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

9.714 Views

Untitledvor 0 min.
Tommy10.08.2016
Georg Teles09.07.2015
Paul Glatz10.05.2013
Julian Schmidt15.09.2012
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie