標籤:style http java color 使用 strong
不知道我得的是滑鼠手,還是肩周炎。
長時間右手(或者左手)使用滑鼠的話,那隻胳膊便會不自在。
於是便有了切換滑鼠主次要鍵的需求。
【控制台->滑鼠】有更改它的設定,可點來點去讓我覺得不夠方便。
我需要的是“一個命令就能搞定它”,這樣我就可以在命令列,或者程式載入器裡面方便的運行他。
下面的代碼便是要實現這一需求:
他是一個命令列程式。如果當前滑鼠是右手習慣,則將滑鼠習慣設定為左手,反之設定成右手習慣。
實現代碼如下:
C#代碼
- using System;
- using System.Runtime.InteropServices;
- using Microsoft.Win32;
-
- namespace SwapMouseModel
- {
- class Program
- {
- [DllImport("user32")]
- public static extern int SwapMouseButton(int bSwap);
-
- [DllImport("user32")]
- public static extern int GetSystemMetrics(int nIndex);
-
- //public readonly static int SM_SWAPBUTTON = 23;
- public const int SM_SWAPBUTTON = 23;
-
- public static void Main(string[] args)
- {
-
- var key = Registry.CurrentUser.CreateSubKey("Control Panel\\Mouse\\");
-
-
- if (GetSystemMetrics(SM_SWAPBUTTON) == 0)
- {
- //case: right hand model, change to left hand model.
- SwapMouseButton(1);
- key.SetValue("SwapMouseButtons", "1", RegistryValueKind.String);
- }
- else
- {
- //case: left hand model, change to right hand model.
- SwapMouseButton(0);
- key.SetValue("SwapMouseButtons", 0, RegistryValueKind.String);
- }
- Console.WriteLine("end");
- //Console.ReadLine();
- }
- }
- }
總結下對C#新認識:
1. static與const不能同時修飾一個變數
類成員是const就自動是static。因此或者只用const, 或者可以用readonly static
2. SwapMouseButton Function
通過該連結可以展開查看“windows關於mouse”的api。
另外注意,該方法不會修改註冊表。所以為了重啟後修改依然有效,需要另行儲存註冊表設定。
3. GetSystemMetrics Function
通過該連結可以展開查看如何獲得“其他類似的屬性”
4. C#中可以使用var。
Google到的參考連結:
http://www.theeldergeek.com/forum/lofiversion/index.php?t10400.html
http://stackoverflow.com/questions/653911/swapping-left-and-right-mouse-button-in-net