如果我想编写可以改变Windows中键盘/鼠标配置的东西,我该从哪里开始?

时间:2010-08-28 21:36:49

标签: .net windows api keyboard mouse

配置与您在Windows下的键盘/鼠标设置中看到的选项一样。 我有一些.NET编程经验。

2 个答案:

答案 0 :(得分:0)

如果您只想让它影响您自己的流程,您可以使用InputLanguage类来更改键盘布局,但如果我理解正确您想更改系统范围的设置?

正如斯图尔特所说,你不是真的应该从一个应用程序这样做,所以我不认为有任何“支持”的方式这样做。但是,我认为所有这些设置都存储在注册表中,因此您可以通过更改这些设置并重新启动PC来实现。

以下是一些可能值得关注的更改键盘布局的链接:

Keyboard layout code
How do I configure the default keyboard layout during login?

这些链接都很旧但我认为可能仍然使用相同的设置。

如果您想更改除布局之外的其他键盘设置,或者您想要更改鼠标设置,您可以尝试使用Google搜索设置名称+“注册表项”或类似的内容来查找存储位置,或者可能在超级用户网站上询问。

答案 1 :(得分:0)

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参数必须指向接收设置的整数变量。

其他一些(还有更多)有趣的常数是:
获取:
SPI_GETMOUSE,SPI_GETMOUSEHOVERHEIGHT,SPI_GETMOUSEHOVERTIME,SPI_GETMOUSEHOVERWIDTH,SPI_GETMOUSEKEYS,SPI_GETMOUSETRAILS,SPI_GETNONCLIENTMETRICS,SPI_GETSTICKYKEYS,SPI_GETTOGGLEKEYS,SPI_GETWHEELSCROLLLINES

设置
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