你在控制面板中看到的每一個項目都是可執(zhí)行文件。所以就像我在《IT之家學(xué)院:在控制面板中添加“編輯注冊表”的小技巧 》寫的那樣,你可以把Steam注冊為控制面板項目,也可以把QQ注冊為控制面板項目。
這里我以在控制面板中添加《陰陽師》為例。
第一步,生成一個GUID,這個GUID是作為這個控制面板項目的唯一標(biāo)識,不想編用這個網(wǎng)站(安全)就完全OK。這里我用{86506789-0817-40bd-9161-9b68d19b01c0}作為陰陽師的GUID。
第二步,把這個GUID作為項目的名字寫進(jìn)控制面板的命名空間:
在
Computer\HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\
中新建一個名為{86506789-0817-40bd-9161-9b68d19b01c0}的子鍵,這個鍵的默認(rèn)值(REG_SZ)的數(shù)據(jù)理是可選的,但個人建議最好寫上,方便查找注冊表項。所以有如下代碼
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{86506789-0817-40bd-9161-9b68d19b01c0}]
@="為了寮和崽的美好未來,肝杯!"
;IT之家原創(chuàng)內(nèi)容
第三步在
Computer\HKCR\CLSID\
中把這個項目的一些有用的信息都寫進(jìn)去,所以有如下代碼:
[HKEY_CLASSES_ROOT\CLSID\{86506789-0817-40bd-9161-9b68d19b01c0}]
@="嚶陽師"
"InfoTip"="日大蛇、刷御魂,或維護(hù)你的肝臟"
"System.ControlPanel.Category"="5,8"
"System.ApplicationName"="netease.onmyoji"
;IT之家原創(chuàng)內(nèi)容
我來重點(diǎn)講一下這里。
這個鍵的默認(rèn)值(REG_SZ)的數(shù)據(jù)是你的項目在控制面板中顯示的名字。為了有說明性,在例子中我把陰陽師寫做“嚶陽師”。
InfoTip(REG_SZ或REG_EXPAND_SZ):這個值用于在鼠標(biāo)懸停于項目上時顯示提示信息。這個值的類型可以是字符串或者多值字符串,值的數(shù)據(jù)是包含MUI String Table的資源模塊名稱和目標(biāo)字符串在String Table中對應(yīng)的ID,語法是:
@模塊所在路徑\模塊名稱.exe,-ID或? @模塊所在路徑\模塊名稱.dll,-ID
也可以直接用環(huán)境變量作為路徑的一部分。或者你嫌麻煩直接在這個值的數(shù)據(jù)中寫一段自己的話上去,就像例子中的那樣。
LocalizedString(REG_SZ或REG_EXPAND_SZ):可選值,用于為項目名本地化用的,而且需要程序本身有String Table才行,具體語法和InfoTip值的語法一樣自己強(qiáng)行添加其他程序的話就不用寫這條了。
System.ApplicationName(REG_SZ):用于給項目指定一個規(guī)范名稱(Canonical Names),有了這個規(guī)范名可以做各種操作,比如最簡單的隱藏這個項目、通過API或者命令行(control exe /name System.ApplicationName)來調(diào)用這個項目。當(dāng)然,可以像我上篇文章那樣,干脆不寫。
System.ControlPanel.Category(REG_SZ):給這個項目指派一個分組。如果你想要這個項目出現(xiàn)在不同的分組中,你可以為寫上不同的分組ID,中間用英文逗號隔開。就像例子中那樣,我寫了5,8,則“嚶陽師”將會出現(xiàn)在“系統(tǒng)和安全”、“程序”分組中。
就像這張圖中,有8個分組,每個分組都有一個ID。但是在Windows Vista時代,控制面板中的分組多達(dá)11個。
接下來就說說控制面板中的各個ID都代表哪個分組(由于自Windows 7以后,分組信息基本沒什么變化,故以下Windows 7 Windows 8和Windows 10統(tǒng)稱“Windows 7及以后的版本”)。
注:
括號中的“合并至”表示:例如如果分組ID指定為10,則該項目在Windows 7中會出現(xiàn)在系統(tǒng)和安全分組中。
*所有未指定System.ControlPanel.Category值的項目均會默認(rèn)出現(xiàn)在此分組中。
**Windows XP Service Pack 2及之后的版本才支持。
***僅在移動設(shè)備中出現(xiàn)。
這個值的問題大概就這么多。
還有一個System.Software.TasksFileUrl這個值就不說了,值指向聲明Task Link的XML文檔,基本上就只有創(chuàng)建搜索關(guān)鍵字和任務(wù)鏈接(如下圖所示的藍(lán)字)的用處,需要創(chuàng)建XML文檔,也沒啥太大用處還麻煩,如果感興趣可以參考相關(guān)文檔。
最后一步:為這個項目設(shè)置圖標(biāo)和啟動命令。
我就直接粘代碼了,大家應(yīng)該都能看懂。
[HKEY_CLASSES_ROOT\CLSID\{86506789-0817-40bd-9161-9b68d19b01c0}\DefaultIcon]
@="D:\\Onmyoji\\Launcher.exe"
;IT之家原創(chuàng)內(nèi)容
[HKEY_CLASSES_ROOT\CLSID\{86506789-0817-40bd-9161-9b68d19b01c0}\Shell\Open\command]
@="D:\\Onmyoji\\Launcher.exe"
DefaultIcon的默認(rèn)值(REG_SZ或REG_EXPAND_SZ)可以直接引用那個模塊的圖標(biāo)就好,就像例子里那樣,你可以直接寫這個。如果需要引用模塊內(nèi)的其他圖標(biāo)的話,可以像InfoTip值那樣,只不過沒有“@”,語法如下
模塊所在路徑\模塊名稱.exe,-資源ID或?模塊所在路徑\模塊名稱.dll,-資源ID
啟動命令就不用說了,大家都懂。注意寫注冊表代碼別忘了轉(zhuǎn)義字符。
接下來我要試一下效果。寫好注冊表文檔、導(dǎo)入。
位于系統(tǒng)和安全頁中的嚶陽師
位于程序頁中的嚶陽師
用command測試規(guī)范名稱,通過。
好了,接下來大家就可以自己添加Steam或者QQ了。
雖然這個教程可能沒啥太多的實用價值,但是和人裝個那啥或者在之家水點(diǎn)金幣還是可以的。想要解除注冊的話根據(jù)上面的鍵寫個刪除那兩個GUID的鍵即可。例如在本例中,想要刪除癢癢鼠項目的話,代碼如下:
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{86506789-0817-40bd-9161-9b68d19b01c0}]
[-HKEY_CLASSES_ROOT\CLSID\{86506789-0817-40bd-9161-9b68d19b01c0}]
教程就到這里了
本文參考文獻(xiàn)源于MSDN Library,如需獲取更精準(zhǔn)的描述請參閱原文檔(英文)。更多技術(shù)文檔請參看MSDN Library和Microsoft Docs
由于我曾經(jīng)有三篇首發(fā)在IT之家的原創(chuàng)文章被轉(zhuǎn)載至不同的媒體網(wǎng)站、但是沒有注明出處甚至給IT之家的水印打上馬賽克,所以我要以我個人的名義敬告各位轉(zhuǎn)載文章卻又習(xí)慣性刪除出處或給水印打碼的媒體網(wǎng)站的編輯朋友們,請你們尊守職業(yè)道德,尊重IT之家責(zé)任編輯和我本人的勞動成果。
本文首發(fā)于IT之家,歡迎各位媒體朋友轉(zhuǎn)載本教程,而且轉(zhuǎn)載之前不需要經(jīng)我個人同意,但請務(wù)必不要刪除文章來源和包含IT之家水印的內(nèi)容或以自己的名義重新發(fā)布。感謝各位的理解和支持。
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。