2009-03-17 44 views
7

Làm cách nào để hoán đổi các nút chuột trái và phải trong .NET (tốt nhất là C#)? Về cơ bản, kết quả sẽ giống như khi người dùng chọn hộp kiểm "Chuyển đổi nút chính và phụ" trong Thuộc tính chuột qua bảng điều khiển. Tôi đang đối phó với Windows XP, trong trường hợp tạo ra sự khác biệt.Hoán đổi nút chuột trái và phải trong .NET

+0

gì u có nghĩa là bằng cách trao đổi ... làm u muốn làm một hoán đổi hệ thống cấp hoặc trao đổi cho các ứng dụng của riêng bạn? – Aamir

Trả lời

12

Bạn có thể sử dụng một cuộc gọi 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); 
+0

cảm ơn. có thể muốn thêm rằng bạn cần "using System.Runtime.InteropServices;" –

+0

Rất tiếc; Tôi đã thực sự bỏ bê đề cập đến điều đó. Tôi sẽ thêm nó để tham khảo trong tương lai. –

+0

Tác phẩm này nhưng trạng thái không được lưu sau khi người dùng đăng xuất. Để có trạng thái hoán đổi nhớ bạn phải sử dụng giải pháp của Porges với sổ đăng ký. – foka

3

Something như thế này:

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); 
Các vấn đề liên quan