Delphi/Lazarus: Obtener Handle de la Ventana bajo el Cursor del Mouse
Pregunta de Invitado | 19/03/2023 a las 17:26
Me gustaría especificar la ventana que se encuentra actualmente bajo el cursor del mouse usando Delphi o Lazarus. Esto debería funcionar en el sistema operativo Windows y debería funcionar en todo el sistema, no solo en mi propia aplicación. Necesito la Handle de esa ventana.
¿Es esto posible de alguna manera? Y si es así, ¿alguien puede decirme cómo hacerlo?
Temas Relacionados
Delphi/Lazarus: ¿Está presionada la tecla ALT, SHIFT o CTRL?
Tutorial | 0 Comentarios
Pipette: Obtener Colores de cualquier Lugar de la Pantalla
Tutorial | 0 Comentarios
Delphi/Lazarus: Recuperar la Posición del Cursor relativa a Form/Ventana
Consejo | 0 Comentarios
Delphi/Lazarus: Obtener Handle de la Ventana enfocada
Pregunta | 1 Respuesta
Renombrar Archivos en sus Nombres de Carpeta
Tutorial | 0 Comentarios
JavaScript: Obtener la Fecha y la Hora actuales
Tutorial | 1 Comentario
VirtualBox: Cambiar la Fecha y la Hora
Tutorial | 10 Comentarios
Aviso Importante
Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.
Participar
Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.
En primer lugar, debe determinar la posición actual del mouse. Esto se puede hacer usando la función GetCursorPos(). Después de eso, puede usar la función WindowFromPoint() para especificar la ventana en esta posición.
Aquí hay un ejemplo:
var ACursorPos: TPoint; AHandle: HWND; begin if GetCursorPos(ACursorPos) then begin AHandle := WindowFromPoint(ACursorPos); if AHandle <> 0 then begin SendMessage(AHandle, ..., ..., ...); end; end; end;Debido a que ambas funciones pueden fallar, debe implementar condiciones como lo hice en el ejemplo. Solo si está seguro de que la Handle no es 0, eso significa que se encontró una ventana, debe continuar y usar la Handle. En el ejemplo anterior, enviamos un mensaje a la ventana correspondiente.
20/03/2023 a las 17:42