使用C#: 自動切換滑鼠的左右手習慣

來源:互聯網
上載者:User

標籤:style   http   java   color   使用   strong   

不知道我得的是滑鼠手,還是肩周炎。

長時間右手(或者左手)使用滑鼠的話,那隻胳膊便會不自在。

於是便有了切換滑鼠主次要鍵的需求。

 

【控制台->滑鼠】有更改它的設定,可點來點去讓我覺得不夠方便。

我需要的是“一個命令就能搞定它”,這樣我就可以在命令列,或者程式載入器裡面方便的運行他。

 

下面的代碼便是要實現這一需求:

他是一個命令列程式。如果當前滑鼠是右手習慣,則將滑鼠習慣設定為左手,反之設定成右手習慣。

 

實現代碼如下:

 

C#代碼  
  1. using System;  
  2. using System.Runtime.InteropServices;  
  3. using Microsoft.Win32;  
  4.   
  5. namespace SwapMouseModel  
  6. {  
  7.     class Program  
  8.     {  
  9.         [DllImport("user32")]  
  10.         public static extern int SwapMouseButton(int bSwap);  
  11.   
  12.         [DllImport("user32")]  
  13.         public static extern int GetSystemMetrics(int nIndex);  
  14.   
  15.         //public readonly static int SM_SWAPBUTTON = 23;  
  16.         public const int SM_SWAPBUTTON = 23;  
  17.   
  18.         public static void Main(string[] args)  
  19.         {  
  20.   
  21.             var key = Registry.CurrentUser.CreateSubKey("Control Panel\\Mouse\\");  
  22.               
  23.   
  24.             if (GetSystemMetrics(SM_SWAPBUTTON) == 0)  
  25.             {  
  26.                 //case: right hand model, change to left hand model.  
  27.                 SwapMouseButton(1);  
  28.                 key.SetValue("SwapMouseButtons", "1", RegistryValueKind.String);  
  29.             }  
  30.             else  
  31.             {  
  32.                 //case: left hand model, change to right hand model.  
  33.                 SwapMouseButton(0);  
  34.                 key.SetValue("SwapMouseButtons", 0, RegistryValueKind.String);  
  35.             }  
  36.             Console.WriteLine("end");  
  37.             //Console.ReadLine();  
  38.         }  
  39.     }  
  40. }  

 

 

 

總結下對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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.