Zliczanie kliknięć myszką (poza formą)

0

Napisałem krótki program, którego zadaniem jest zliczanie kliknięć myszką, wszystko jest ok. ale działa tylko gdy klikam na formie programu i tutaj moje pytanie co zrobić aby zliczanie działało również po zminimalizowaniu formy na pasek gdy kliknięcie wypadnie np. gdzieś na pulpicie albo w innym programie

pzdr!

0

może jakiś rodzaj hooka założyć na gryzonia?

0
Ptwr napisał(a)

może jakiś rodzaj hooka założyć na gryzonia?

... podpowie ktos jak to mozna zrobić??

0

O zakladaniu hooków możesz troche poczytac.
Jezeli cie to nie zainteresuje bo wolisz rozumiec to co tworzysz, mozesz skorzystac z takiego komponentu jak KeySpyXp na stronie 4programmers go znajdziesz razem z instrukcja jak go zainstalowac :-)

0

Radziłabym Ci skorzystac z mechanizmu komunikatów windows. Na przykład przyciśnięcie myszki to komunikat WM_LBUTTONDOWN. Metody jak odbierac takie komunikaty są ładnie opisane w necie. Zdarzenie OnMessage posiada obiekt Application. Możesz też stworzyc mapę wiadomosci:
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(nazwa_komunikatu, typ_struktury_komunikatu,nazwa_metody)
END_MESSAGE_MAP
Myślę, że najlepiej będzie jak poczytasz o tym i wybierzesz wlaściwe dla Ciebie rozwiązanie

pozdrawiam
ilo

0
ilo napisał(a)

BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(nazwa_komunikatu, typ_struktury_komunikatu,nazwa_metody)
END_MESSAGE_MAP

Ilo, podałaś mu patent z C++ :)

Strix, tu masz rozpisane:

http://delphi.about.com/od/windowsshellapi/a/mousehook.htm

Masz rację, Google to szatański wymysł i należy się od niego trzymać z daleka. Po wpisaniu 'Delphi mouse global hook' - komputer zaczyna gryźć... :D

0

Pisze raz w C++, raz w Delphi. Może i rzeczywiście nie ma obsługi map wiadomości w Delphi, szczerze to nie sprawdzałam ;p, używałam mapy przy obsłudze gniazd, ale to rzeczywiście w C++ było. Ale na pewno można wykorzystac OnMessage. Nawet tu na 4p jest to opisane:
http://4programmers.net/Delphi/Kompendium/Rozdzia%C5%82_5#id-Przechwytywanie-komunikat%C3%B3w

0

@ilo: ale chodzi przeciez o wylapywanie zdarzen myszki gdy kursor jest poza oknem (i chyba nie wchodzi w gre uzycie SetCapture() ). Jedyne sensowne wyjscie to jak pisali wyzej: HOOKi (jest nawet fajny hook na myszke) :) Jedyne co moge dodac od siebie to: uwazaj z hookami. Jesli cos nie tak poustawiasz to mozesz nawet system powiesic :]

0

A jeśli napisałbym swoją klasę, która nie jest komponentem, to jak zmusić ją do przechwytywania komunikatów??

1 użytkowników online, w tym zalogowanych: 0, gości: 1