PDA

Ver la Versión Completa : Mensajes de Win


wickedsp
30-09-2003, 21:30:09
a ve si me explico.... me gustaria saber como puedo saber si el cursor hace clik en el boton de INICIO, como se hace?

Gracias.

roman
01-10-2003, 17:42:06
Una idea:


Tendrás que averiguar el "handle" del botón de inicio. Para ello usarás la función FindWindow de la API de Windows posiblemente dos veces: una para hallar el "handle" de la barra de tareas y otra para el del botón que es hijo de la barra. Necesitarás saber el nombre de la clase de la barra de tareas. Esto lo puedes averiguar usando el programa WinSight que viene con Delphi.

Deberás establecer un gancho (hook) del sistema para interceptar los eventos del ratón y determinar si el evento es un click (WM_LBUTTONDOWN) y va dirigido al botón (cuyo "handle" determinaste en el punto 1)


No lo he probado así que no sé si realmente funcione pero es lo que se me ocurriría de primera instancia.

El caso es que para comezar deberás investigar acerca de FindWindow y de Hooks.

// Saludos

delphi.com.ar
01-10-2003, 18:29:47
Te recomiendo seguir la idea de román, y como extra te doy una ayudita de como buscar el handle del botón de inicio:
var
hTray,
hButton: HWND;
begin
hTray := FindWindow('Shell_TrayWnd', Nil);
if hTray <> 0 Then
begin
hButton := FindWindowEx(hTray, 0, 'Button', nil);

Caption := IntToStr(hButton);
end;
end;


Saludos!