Получить и установить статус Num/Caps/Scroll-lock в Mono C#
Есть ли способ в Mono.Net получить и установить независимую платформу статуса Num/Caps/Scroll-lock (Linux и Windows)?
Заранее спасибо.
3 ответа
Свойства.NET Console.CapsLock и NumberLock возвращают состояние ключа. У Моно они тоже есть, но они еще не документированы. Попробуйте.
Используйте подпись pinvoke для GetKeyState под Windows, MSDN о GetKeyState находится здесь. Что касается моно, я не уверен.
Кросс-платформенного API не существует, если p/invoke используется, так как Mono в Linux не имеет эквивалента Win32 API, помните, что все упражнение по отношению к API Win32 состоит в том, что они предназначены специально для системы Windows, в которой Линукса нету!
Чтобы быть по-настоящему независимым от платформы с.NET и Mono под Linux, необходимо, чтобы не использовались определенные Win32 API и p/Invokes.
Надеюсь, это поможет, С наилучшими пожеланиями, Том.
Я не знаю, действительно ли это MONO, но в элементах управления.Net у вас есть метод IsKeyLocked.