С чего начать, если я хочу запрограммировать что-то, что может изменить конфигурацию клавиатуры / мыши в Windows? - PullRequest
1 голос
/ 29 августа 2010

Конфигурация как в параметрах, которые вы видите в настройках клавиатуры / мыши в Windows. У меня есть некоторый опыт программирования на .NET.

Ответы [ 2 ]

0 голосов
/ 29 августа 2010

Win-API ваш друг здесь.Google этот API для получения дополнительной информации, с этим вы можете получить и установить множество системных параметров о мыши и клавиатуре:

SystemParametersInfo
Функция SystemParametersInfo запрашивает или устанавливает общесистемнопараметры.Эта функция также может обновлять профиль пользователя при настройке параметра.

Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

Если вы, например, отправите функцию uAction SPI_GETKEYBOARDDELAY в функцию, вы получите настройку задержки повторения клавиатуры.Параметр pvParam должен указывать на целочисленную переменную, которая получает параметр.

Некоторые другие (есть и другие) интересные константы:
GET:
SPI_GETMOUSE, SPI_GETMOUSEHOVERHEIGHT, SPI_GETMOUSEHOVIME, SPI_GETMOUSEHOVERWIDTH, SPI_GETMOUSEKEYS, SPI_GETMOUSETRAILS, SPI_GETNONCLIENTMETRICS, SPI_GETSTICKYKEYS, SPI_GETTOGGLEKEYS, SPI_GETWHEELSCROLLLINES

SET:
SPI_SETDOUBLECLICKTIME, SPI_SETDOUBLECLKHEIGHT, SPI_SETDOUBLECLKWIDTH, SPI_SETKEYBOARDDELAY, SPI_SETKEYBOARDPREF, SPI_SETKEYBOARDSPEED, SPI_SETLANGTOGGLE, SPI_SETMOUSE, SPI_SETMOUSEBUTTONSWAP, SPI_SETMOUSEHOVERHEIGHT, SPI_SETMOUSEHOVERTIME, SPI_SETMOUSEHOVERWIDTH, SPI_SETMOUSEKEYS, SPI_SETMOUSETRAILS

0 голосов
/ 29 августа 2010

Если вы хотите, чтобы это влияло только на ваш собственный процесс, вы можете использовать класс InputLanguage для изменения раскладки клавиатуры, но если я правильно понимаю, вы хотите изменить общесистемные настройки?

Как говорит Стюарт, вы не должны делать это из приложения, поэтому я не думаю, что существует какой-либо «поддерживаемый» способ сделать это.Тем не менее, я думаю, что все эти настройки хранятся в реестре, так что вы можете сделать это, изменив эти настройки и перезагрузив компьютер.

Вот несколько ссылок, на которые стоит обратить внимание при изменении раскладки клавиатуры:

Код раскладки клавиатуры
Как настроить раскладку клавиатуры по умолчанию при входе в систему?

Обе эти ссылки довольно старые, но я думаю, что этовероятно, что те же самые настройки все еще используются.

Если вы хотите изменить другие настройки клавиатуры, кроме макета, или если вы хотите изменить настройки мыши, вы можете попробовать поискать имя параметра + "ключ реестра""или что-то подобное, чтобы найти, где он хранится, или, возможно, спросить на сайте Superuser.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...