在本文的帮助下,我对使用C#更改鼠标速度感到非常满意:http://www.sparrowtail.com/changing-mouse-pointer-speed-c。
现在我也想获得当前的鼠标速度。我尝试将0x0072
更改为0x0070
,同时更改为0x70
,希望这是正确的地址。微软的文档说,地址(至少在C ++中)是private int GetMouseSpeed()
{
const uint SPI_GETMOUSESPEED = 0x0070;
uint mouseSpeed = 0;
SystemParametersInfo
(
SPI_GETMOUSESPEED,
0,
mouseSpeed,
0
);
return (int) mouseSpeed;
}
但是我不可能在互联网上获得正确的地址。
我的功能:
{{1}}
答案 0 :(得分:3)
您可以在MSDN上找到uiAction
的所有可能值。 SPI_GETMOUSESPEED
值为0x70
。另外,您需要将指针传递给接收值的整数。在下面的代码中,我使用不安全的&
运算符。为了编译它,您需要在项目的构建设置中检查Allow unsafe context
。
public const UInt32 SPI_GETMOUSESPEED = 0x0070;
[DllImport("User32.dll")]
static extern Boolean SystemParametersInfo(
UInt32 uiAction,
UInt32 uiParam,
IntPtr pvParam,
UInt32 fWinIni);
static unsafe void Main(string[] args)
{
int speed;
SystemParametersInfo(
SPI_GETMOUSESPEED,
0,
new IntPtr(&speed),
0);
Console.WriteLine(speed);
}