Wstrzyknięcie dll'a w aktywne procesy / globane hooki

0

Z tego co się naczytałem, to nie napiszę globalnego hooka w C# - mogę jedynie zaimportować LowLevelKeyboardProc i LowLevelMouseProc do przechwycenia kodów myszki.
Również wiem że zarządzany kod (C#) nie będzie działał jako dll w innych procesach.
I moje pytanie brzmi, bo przecież musi istnieć jakiś sposób, by przechwytywać wszystkie WM_MESSAGE, jak mogę to zrobić?

Czy może zainstalować kompilator C++, odkurzyć pamięć, zrobić globalny hook, i może jakimś Socketem komuniktować się między aplikacją w C++ a tą w C#?

0

Również wiem że zarządzany kod (C#) nie będzie działał jako dll w innych procesach.

Będzie działać, nawet w związku z tym naprawiono kilka rzeczy, ale mimo wszystko, ładowanie CLR w każdy proces to beznadziejny pomysł i sam Microsoft to odradza. Napisz swoją bibliotekę w C++.

0

Kilka pytań:

  1. komunikacja między procesami - programów napisanych przeze mnie - jak najlepiej? Przy użyciu Socketów? Jeśli tak to jaki dać AddressFamily, SocketType i ProtocolType (pytam niezależnie od tematu)
  2. Jak się zabrać za pisanie takiej biblioteki do globalnego hooka? A może spróbować znaleźć taką gotową dll'kę? I jak potem zrobić by wchodziła w każdy proces jako moduł? No i
    W sumie wiem że rzucam się na głęboką wodę no ale na największych projektach człowiek się najwięcej uczy...
1

Do komunikacji możesz użyć komunikatów, bardziej pasuje.

Popatrz tutaj:
http://www.codeproject.com/Articles/18638/Using-Window-Messages-to-Implement-Global-System-H

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