Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Mensajes de Win (https://www.clubdelphi.com/foros/showthread.php?t=4069)

wickedsp 30-09-2003 21:30:09

Mensajes de Win
 
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:
Código:

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!


La franja horaria es GMT +2. Ahora son las 13:11:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi