[C#] KeyHookSucks - przestaje działać

Dzień dobry

Wykorzystuje kod z podanej strony

http://blogs.msdn.com/toub/archive/2006 … 89423.aspx

Niestety po pewnym czasie (czasami krótszym lub dłuższym) przestaje czytać wpisane znaki. Od razu mówię że nie służy mi to jako keylogger. Potrzebuje wyświetlić komunikat jeśli zostanie wpisana odpowiednia fraza (w sumie zostanie z czytana czytnikiem). Ok, wszystko fajnie póki aplikacja nie przestaje dalej logować znaków. Bawił się ktoś kiedyś z podanym kodem?

Dodane 18.03.2013 (Pn) 11:37

Niestety inne programy z różnych stron też gubią hook i nie wczytują dalej znaków.

Dodane 18.03.2013 (Pn) 12:26

Odkryłem problem. Przestaje wczytywać przez Thread.Sleep(). W moim programie działa to tak że po wpisaniu odpowiedniej frazy ma się pojawić komunikat na całym ekranie. Zrobiłem to za pomocą formy wypełnionej na cały ekran. Jednak jest problem. Ucina ostatni znak lub dwa ostatnie. Nie pokazuje ostatniego znaku w okienku które było aktywne. Dlatego zrobiłem Thread.Sleep() po to żeby komunikat pojawił się dopiero po chwili tak aby ostatni znak również się zawarł w polu tekstowym. Jednak przez to po jakimś czasie przestaje to działać. Bez Thread.Sleep() wszystko śmiga ciągle i bez problemów… Jak zeskanuje szybko dwa razy kod, drugi w trakcie trwania tego pierwszego sleepa to program przestaje spełniać swoją funkcję.

IReader.Do.Read();

Funkcja ma automatyczny timer wynoszący 120 sekund. Musisz wklepać Timer = 0 po ostatnim przecinku.