朋友的膝上型電腦的ctrl鍵壞了,常用的ctrl+c和ctrl+v用不了(臨時用右鍵選單中的複製貼上代替),給日常工作帶來很大不便。網上找了一下解決辦法,發現比較簡單的辦法是通過修改登錄檔,用其他鍵代替ctrl鍵,比如不常用的win鍵。
windows registry editor version 5.00
[hkey_local_machine\system\currentcontrolset\control\keyboard layout]
"scancode map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,5b,e0,00,00,00,00
雙擊這個檔案,就會在登錄檔中鍵keyboard layout下增加乙個二進位制scancode map鍵值,用左邊的win鍵代替左邊的ctrl鍵。
重啟你的電腦後,這個改變就生效了。
2、scancode map **的一般格式是:
「hex:00,00,00,00,00,00,00,00,|02|,00,00,00,|對映之後的掃瞄碼(xx xx),原掃瞄碼(xx
xx)|00,00,00,00」。
其含義為:前8個00(dword兩個0)是版本號和頭部位元組,接下來的「02」表示對映數,其最小為值為「02」,表示只對映一組(一組4個位元組,這裡的數值是對映數目加上最後面用作結尾的「00,00,00,00」,因此總是比實際的對映數目大一),若要對映多組,只需增加相應的值即可,如對映2組其值應為「03」,3組為「04」。後邊**每4個是一組:前兩個是對映後鍵位的掃瞄碼,後兩個是鍵位原掃瞄碼。如果要交換兩個鍵,則乙個有兩組對映,四個值的排列形式是:鍵a,鍵b,鍵b,鍵a——它表示:鍵a成為鍵b,鍵b成為鍵a。最後以「00,00,00,00」 結尾。了解了「scancode map」之後,我們就可以來利用新增功能鍵了。比如前面我用的win鍵掃瞄碼為:「e0 5b」,esc為「00 01」,左邊的ctrl為「00 1d」,更詳細的掃瞄碼請見鍵盤掃瞄碼。
注意登錄檔中二進位制值的順序,低8位在前,高8位在後。比如左邊的ctrl的「00 1d」在登錄檔中是:1d 00
3、恢復鍵盤鍵位原來的布局,只需定位於登錄檔
[hkey_local_machine\system\currentcontrolset\control\keyboard layout],刪除"scancode map"鍵值,然後重啟電腦即可。
參見:1、鍵盤壞了,用登錄檔來修:win7/xp修改登錄檔,替換按鍵對映
2、登錄檔:更改鍵盤掃瞄碼對映
用Visual C 來建立 修改登錄檔資訊
在 如何讀取註冊資訊 和 用visual c 來刪除登錄檔中的註冊資訊 文章中,已經 了用visual c 來讀取 刪除登錄檔中的註冊資訊,在本篇文章中我們就來介紹visual c 登錄檔程式設計的另外二個重要的操作 建立註冊資訊和修改註冊資訊。在上二篇文章中,我們已經知道,由於visual c 本...
用VC 來設定獲得登錄檔的鍵值
下面這個是基於mfc的基本對話寫的。演示設定登錄檔的3中型別的值和獲得登錄檔的3中型別的值。分別用regsetvalueex 來設定,regqueryvalueex 函式來獲得。void cuserregdlg onok byte vals 100 dword lenit 100 hkey hk 開...
用登錄檔鍵儲存使用者程式的資訊
如果要使你的程式對使用者友好,那麼儲存使用者設定以及程式執行的首選項是很重要的。目前比較通行的做法是將這些資訊儲存在登錄檔中。這也是windows 徽標 logo 程式的要求。如果你希望下乙個子鍵是工程的名字,那麼什麼 都不用寫就可以讀寫登錄檔訪問工程名,mfc會將工程名作為預設的設定。如果因為別的...