Permuter les boutons gauche et droit de la souris dans .NET
Question
Comment permuter les boutons gauche et droit de la souris dans .NET (de préférence, C #)? En gros, le résultat devrait être le même que si l'utilisateur avait coché la case "Basculer les boutons principaux et secondaires". case à cocher dans les propriétés de la souris via le panneau de contrôle. Je traite avec Windows XP, au cas où cela ferait une différence.
La solution
Vous pouvez utiliser un appel API Windows pour SwapMouseButton
:
using System.Runtime.InteropServices;
// ...
[DllImport("user32.dll")]
public static extern Int32 SwapMouseButton(Int32 bSwap);
// ...
// Swap it.
SwapMouseButton(1);
// Back to normal.
SwapMouseButton(0);
Autres conseils
Quelque chose comme ça:
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);
Voici un extrait de code qui le fait.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow