7

如何在 .NET(最好是 C#)中交换鼠标左键和右键?基本上,结果应该与用户通过控制面板选中鼠标属性中的“切换主要和次要按钮”复选框相同。我正在处理 Windows XP,以防万一。

4

3 回答 3

15

您可以使用 Windows API 调用SwapMouseButton

using System.Runtime.InteropServices;

// ...

[DllImport("user32.dll")]
public static extern Int32 SwapMouseButton(Int32 bSwap);

// ...

// Swap it.
SwapMouseButton(1); 

// Back to normal.
SwapMouseButton(0); 
于 2009-03-17T11:57:53.317 回答
4

像这样的东西:

using Microsoft.Win32;

var key = Registry.CurrentUser.CreateSubKey("Control Panel\\Mouse\\");
var newValue = key.GetValue("SwapMouseButtons");

if (newValue == null) newValue = "1";
else                  newValue = Int32.Parse(newValue) == 1 ? "0" : "1";

key.SetValue("SwapMouseButtons", newValue, RegistryValueKind.String);
于 2009-03-17T12:09:00.797 回答
0

这是执行此操作的代码片段

于 2009-03-17T11:58:18.497 回答