Получить и установить статус 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.

Другие вопросы по тегам