我基本上已经从MSDN documentation直接复制了以下代码:
#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "user32.lib")
int main()
{
BOOL fResult;
int aMouseInfo[3]; // array for mouse information
// Get the current mouse speed.
fResult = SystemParametersInfo(
SPI_GETMOUSE, // get mouse information
0, // not used
&aMouseInfo, // holds mouse information
0); // not used
// Double it.
if( fResult )
{
aMouseInfo[2] = 1; // 2 * aMouseInfo[2];
// 1 should be a very noticeable change: slowing the cursor way down
// Change the mouse speed to the new value.
SystemParametersInfo(
SPI_SETMOUSE, // set mouse information
0, // not used
aMouseInfo, // mouse information
SPIF_SENDCHANGE); // update win.ini
}
return 0;
}
但是,当我运行它时,似乎什么也没发生。鼠标速度应该改变,但是不会改变。
Windows Vista Home x32(哎呀)
Dev-C++便携式
最佳答案
在这里,aMouseInfo [2]指的是增强鼠标精度字段。
如果aMouseInfo [2]设置为TRUE(或分配为0以外的任何其他编号),则增强鼠标精度字段为SET;如果为FALSE(或分配为0),则增强鼠标精度字段为UNSET。
要获取和设置Mousespeed,可以使用SPI_GETMOUSESPEED和SPI_SETMOUSESPEED。
要使用SPI_GETMOUSESPEED和SPI_SETMOUSESPEED,请引用post。