【发布时间】:2010-02-13 14:27:38
【问题描述】:
Mono.Net 中有没有一种方法可以独立于平台(Linux 和 Windows)获取和设置 Num/Caps/Scroll-lock 状态?
提前致谢。
【问题讨论】:
标签: c# multiplatform capslock num-lock scroll-lock
Mono.Net 中有没有一种方法可以独立于平台(Linux 和 Windows)获取和设置 Num/Caps/Scroll-lock 状态?
提前致谢。
【问题讨论】:
标签: c# multiplatform capslock num-lock scroll-lock
.NET Console.CapsLock 和 NumberLock 属性返回密钥状态。 Mono 也有它们,但它们尚未记录在案。试试看吧。
【讨论】:
在Windows下使用GetKeyState的pinvoke签名,关于GetKeyState的MSDN在这里。至于单声道,我不确定。
如果使用 p/invoke,则没有跨平台 API 这样的东西,因为 Linux 下的 Mono 没有等效的 Win32 API,请记住与 Win32 API 相关的整个练习是它们专门用于 Windows 系统,其中Linux没有!
要在 Linux 下与 .NET 和 Mono 真正实现平台无关,要求不使用特定的 Win32 API 和 p/Invokes。
希望这会有所帮助, 最好的祝福, 汤姆。
【讨论】:
我不知道这是否真的是 MONO,但在 .Net 控件中你有 IsKeyLocked 方法。
【讨论】: