我正在使用CodeProject.com for a low-level keyboard hook上找到的代码。唯一的问题是它使用不能在单声道中工作的外部DLL调用。我想知道是否有人知道如何完成与该代码相同的操作,但是在Windows中使用.net运行,而Linux使用单声道运行吗?
编辑:澄清我正在尝试做的事情: 我正在制作Dashboard like application。该程序位于系统托盘中,当用户按下热键时,它将弹出所有小工具。因此程序没有焦点,所以通常它不会捕获任何击键,所以我使用低级键盘钩子并挂钩用户定义为热键的两个键。但我正在使用Windows DLL调用,这在使用mono的Linux中不起作用。所以我想知道是否有办法做同样的事情,但是会在Linux中使用mono运行吗?
答案 0 :(得分:4)
如果不知道你想捕捉什么,很难确定什么对你有用。您可能希望查看使用Application.AddMessageFilter。
答案 1 :(得分:3)
仅使用.Net无法获得此行为。您必须为运行的每个平台(Windows,Linux,Mac OS)使用二进制驱动程序。可能只能使用P / Invoke(检测您正在运行的操作系统,调用适当的系统库),这样您就不必分发任何“额外”的dll / so / dylib。