Witam!
Tak się męczę i zastanawiam na przemian, czy założenie hooka globalnego w C# jest możliwe. Na stronach supportu Microsoftu czytam, że:
Global hooks are not supported in the .NET Framework
Except for the WH_KEYBOARD_LL low-level hook and the WH_MOUSE_LL low-level hook, you cannot implement global hooks in the Microsoft .NET Framework.
Ale, jeżeli stworzę sobie jedną dll'kę, która będzie ustawiała tego globalnego hooka, którego funkcja znajduje się w jeszcze innej dll'ce (bądź tej samej, ale nie wiem skąd wziąć HINSTANCE injectora, więc dla pewności mam je dwie), to czy wtedy taki śmieszny twór ma prawo działać?
Stworzyłem sobie taki testowy projekt, zrobiłem dwie dll'ki. Lecz jakoś dziwnie to wszystko współpracowało... W procedurze owego hooka znajdował się MessageBox i return CallNextHook. Owy MessageBox pojawia się tylko i wyłącznie wtedy, kiedy w aplikacji C# wywołuję funkcję UnHook z pierwszej biblioteki (injectora).
Byłbym wdzięczny, jak ktoś pochwaliłby się swoimi doświadczeniami z hookami i C#. Jak nie znajdę rozwiązania, to będę musiał jakoś przeżyć z C++...
Pozdrawiam, Wronq!