2008-09-26 63 views
4

我正在使用我在CodeProject.com for a low-level keyboard hook上找到的代码。唯一的问题是它使用不能用单声道工作的外部DLL调用。我想知道是否有人知道一种方式来完成代码的相同的事情,但会运行在Windows使用.net和Linux使用单声道?我正在制作一个Dashboard like application。该程序位于系统托盘中,当用户按下热键时,它将弹出所有的小工具。所以程序没有焦点,所以通常它不会捕获任何按键,所以我使用低级键盘钩子,并且钩住了用户定义为热键的两个键。但是我正在使用Windows DLL调用,这在使用mono的Linux中不起作用。所以我想知道是否有办法做同样的事情,但会运行在Linux使用单声道?C#单声道 - 低级别键盘挂钩

+0

你为什么要用这个? – Bernard 2008-09-26 06:32:32

+0

我删除了我的答案,因为它没有真正回答如何在Linux上添加低级别键盘挂钩。 – 2008-09-26 14:20:32

回答

3

这是不可能只使用.NET来实现这个行为。您必须为运行的每个平台(Windows,Linux,Mac OS)使用二进制驱动程序。也许可以只使用P/Invoke(检测你正在运行的操作系统,调用适当的系统库),这样你就不必分发任何“额外的”dll/so/dylib。