OBTENER POSICIÓN DEL CURSOR DEL TECLADO (GetCaretPos WINAPI)

46 views
Skip to first unread message

Fernando Mora

unread,
Oct 21, 2016, 1:11:54 AM10/21/16
to Comunidad de Visual Foxpro en Español
Saludos Foxeros

Necesito detectar la posición exacta del cursor al momento que el usuario ingresa datos a un portal web, lo estoy intentando con GetCaretPos(), y GetWindowRect(), logro detectar la posición de la ventana sin problemas, pero no obtengo resultados satisfactorios con GetCaretPos(), me devuelve un valor fijo, y no el valor real de la ubicación del cursor. Adjunto el código de las dos funciones que he desarrollado, alguien podría indicarme que esta mal? porque obtengo un valor fijo y no el valor real de la posición del cursor? agradezco cualquier sugerencia.


FUNCTION GetPoricionX
DECLARE INTEGER ClientToScreen IN user32 INTEGER HWnd, STRING @lpPoint
DECLARE INTEGER GetCaretPos IN user32 STRING @lpPos
DECLARE SetCursorPos IN user32 INTEGER X, INTEGER Y
LOCAL lpPos, lnWHND, lnX, lnY, lnScreenX, lnScreenY
STORE 0 TO lnX, lnY, lnScreenX, lnScreenY
lpPos  = SPACE(8)
lnHWND = GetForegroundWindow()
GetCaretPos(@lpPos)
FOR ix=1 TO 4
lnX = m.lnX + ASC(SUBSTR(m.lpPos, m.ix + 0, 1)) * 256 ^ (m.ix - 1)
lnY = m.lnY + ASC(SUBSTR(m.lpPos, m.ix + 4, 1)) * 256 ^ (m.ix - 1)
ENDFOR
ClientToScreen(m.lnHWND, @lpPos)
FOR ix=1 TO 4
lnScreenX = m.lnScreenX + ASC(SUBSTR(m.lpPos, ix + 0, 1)) * 256 ^ (m.ix - 1)
lnScreenY = m.lnScreenY + ASC(SUBSTR(m.lpPos, ix + 4, 1)) * 256 ^ (m.ix - 1)
ENDFOR
SetCursorPos(m.lnScreenX,m.lnScreenY)
RETURN (GetWindLeft() + m.lnX)
ENDFUNC

FUNCTION GetWindLeft
DECLARE INTEGER GetWindowRect IN user32 INTEGER HWnd, STRING @lpRect
STORE 0 TO lnL, lnT, lnR, lnB, ix
lpRect=SPACE(16)
GetWindowRect(GetForegroundWindow(), @lpRect)
FOR ix=1 TO 4
lnL = lnL + ASC(SUBSTR(lpRect, ix +  0, 1)) * 256 ^ (ix - 1)
lnT = lnT + ASC(SUBSTR(lpRect, ix +  4, 1)) * 256 ^ (ix - 1)
lnR = lnR + ASC(SUBSTR(lpRect, ix +  8, 1)) * 256 ^ (ix - 1)
lnB = lnB + ASC(SUBSTR(lpRect, ix + 12, 1)) * 256 ^ (ix - 1)
ENDFOR
RETURN lnL
ENDFUNC 


Message has been deleted

Carlos Miguel FARIAS

unread,
Oct 21, 2016, 12:41:15 PM10/21/16
to Grupo Fox
Ya hay que banearlo, se mete en los hilos de nuestras conversaciones

El 21 de octubre de 2016, 8:39, <balaton...@gmail.com> escribió:
Usted está buscando financiación para hacer crecer su negocio
tanto para la realización de un proyecto, un apartamento, pero
Por desgracia, el banco impone condiciones que usted está
incapaz de cumplir, más preocupación, soy una oferta en particular que
préstamos de 2000 a € 800,000 para una tasa de interés del 2% al
gente seria y capaz de pagar.
puede ponerse en contacto con nosotros por correo: prestamo...@gmail.com |
Reply all
Reply to author
Forward
0 new messages