Frage

Ich verwende Code, den ich auf der CodeProject.com für einen Low- Ebene Tastaturhook . Das einzige Problem ist es verwendet externe DLL-Aufrufe, die in Mono nicht funktionieren. Ich frage mich, ob jemand eine Möglichkeit, wusste das gleiche wie dieser Code zu erreichen, wird aber sowohl in Windows mit .net ausführen und Linux mit Mono?

Edit: Klärende, was ich zu tun werde versuchen: Ich mache eine Armaturenbrett wie Anwendung rel="nofollow. Das Programm befindet sich in der Taskleiste und wenn der Benutzer die Hot-Taste drückt, wird es alle Geräte auftauchen. So dass das Programm nicht im Fokus, so typischerweise wird es keine Tastatureingaben fangen, so dass ich bin mit der Low-Level-Tastatur-Hook und ich die beiden Tasten Haken, dass der Benutzer, wie der Hot-Keys definiert. Aber ich bin mit einem Aufruf von Windows-DLL für das, was nicht in Linux funktioniert Mono verwenden. Also ich frage mich, ob es ein Weg, um das Gleiche zu tun, aber in Linux mit Mono laufen?

War es hilfreich?

Lösung

Es ist nicht möglich, dieses Verhalten zu bekommen nur .NET. Sie haben einen binären Treiber für jede Plattform auf (Windows, Linux, Mac OS) verwenden Sie laufen. Es könnte möglich sein, nur zu verwenden, P / Invoke (erkennen, was OS Sie ausführen, entsprechenden Systembibliotheken nennen), so dass Sie keine „extra“ dll zu verteilen haben / so / dylib.

Andere Tipps

Ohne zu wissen, was Sie zu erfassen versuchen, ist es schwer, sicher zu sein, was für Sie arbeiten. Sie können sich mit Application.AddMessageFilter suchen.

Ein Beispiel ist hier: http://dn.codegear.com/article/30129

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top