7 votes

Intervertir les boutons gauche et droit de la souris en .NET

Comment intervertir les boutons gauche et droit de la souris en .NET (de préférence en C#) ? Le résultat doit être le même que si l'utilisateur avait coché la case "Intervertir les boutons primaires et secondaires" dans les propriétés de la souris du panneau de configuration. J'utilise Windows XP, au cas où cela ferait une différence.

15voto

John Feminella Points 116878

Vous pouvez utiliser un appel de l'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);

4voto

Porges Points 17745

Voici ce qu'il en est :

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);

0voto

Ólafur Waage Points 40104

Voici un extrait de code qui fait cela.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X