我們都知道,在Windows Server 2012系列的服務(wù)器版本中都已經(jīng)引入了Modern的現(xiàn)代界面作為默認(rèn)的用戶交互界面,同時(shí)滿足視覺一致化,新版的服務(wù)器管理程序也做成了扁平化。因此傳統(tǒng)的計(jì)算機(jī)(我的電腦)、我的文檔這些經(jīng)典圖標(biāo)默認(rèn)是不會存在于傳統(tǒng)的經(jīng)典桌面上的。
為什么會有這樣的開題,微軟建議大家使用新得Modern模式,你還找原先的那些東西做什么?
那么場景來了,如果是一個(gè)需要給用戶定制模板的模板提供方(用戶有這方面的需求),或者是用戶自行拿到了只有Modern的界面服務(wù)器如何自定義經(jīng)典桌面上需要的圖標(biāo),這里面需要一個(gè)簡單有效的通用處理辦法。另外就是你單純靠自己找這個(gè)界面的開關(guān),那是找不到的!不知道微軟是什么意圖,想用鼠標(biāo)找到他,就是找不到!
方法一:使用Windows自帶的搜索功能
需要搜索的關(guān)鍵字就是“computer”這個(gè)在各種語言中都是通用的
在Modern界面下面直接敲擊鍵盤,輸入computer,在設(shè)置(settings)項(xiàng)目下可以看到

Figure 1Modern界面下搜索關(guān)鍵字“computer”即可找到

Figure 2傳統(tǒng)控制面板環(huán)境下搜索關(guān)鍵字"computer"也可方便找到
中文環(huán)境下,使用英文關(guān)鍵字一樣有效

Figure 3中文環(huán)境下使用英文關(guān)鍵字一樣有效

Figure 4在Windows 10 化境下一樣有效
方法二:使用命令行等非搜索方式
此方法針對“老司機(jī)”用戶,喜歡使用命令行操作的朋友。
我們借助procexp工具可以查看到開啟程序所對應(yīng)的系統(tǒng)命令行動作。

Figure 5系統(tǒng)是通過rundll32程序進(jìn)行了窗口的調(diào)用,實(shí)現(xiàn)開啟一個(gè)帶有參數(shù)的desk.cpl控制面板程序
顯然上述的命令行對于老司機(jī)不合適,冗長不說,關(guān)鍵也不好記憶。
我們分析一下命令行里面的內(nèi)容對其進(jìn)行“壓縮”。
首先我們需要了解“ "C:\Windows\system32\rundll32.exe" shell32.dll,Control_RunDLL desk.cpl,,0 " 這一長串代表了什么。
紅色字體表明是主程序rundll32發(fā)起的進(jìn)程,紫色的shell32.dll表明這是個(gè)需要調(diào)用圖標(biāo)顯示殼有關(guān)的信息,綠色的Control字段表明這是個(gè)控制面板調(diào)用,藍(lán)色的desk.cpl是真正觸發(fā)的實(shí)體,
然后我們就可以這么壓縮使用了。
對于需要使用命令行直接調(diào)取經(jīng)典桌面圖標(biāo)開關(guān)的“老司機(jī)”朋友,您可以直接在運(yùn)行或者cmd黑框里面輸入desk.cpl,,0,即可實(shí)現(xiàn)快速打開經(jīng)典桌面圖標(biāo)開關(guān)的對話框。
延伸
MVP寫文章需要內(nèi)容充實(shí),所以在延伸部分會和大家討論為什么微軟會這樣設(shè)計(jì)控制面板的開啟。
最早的cpl程序出現(xiàn)在Windows 95 里面(KB149698),滿足多種多樣控制面板獨(dú)立設(shè)置(那是一個(gè)時(shí)代的開啟),也方便程序員寫程序時(shí)候調(diào)用控制面板設(shè)置窗口。
而隨著時(shí)代的進(jìn)步,微軟自我的變革,新的Modern界面誕生了,這個(gè)看起來將“Windows”窗口弱化的界面實(shí)際上是將原先固化好的窗口經(jīng)過程序以及用戶自定義窗口的結(jié)合,但是又由于用戶使用習(xí)慣的原因一些經(jīng)典桌面下的設(shè)置還是需要使用控制面板來進(jìn)行配置,(插播,在Windows 10的操作系統(tǒng)中,控制面板更多的是被“設(shè)置”那個(gè)
齒輪而替代,強(qiáng)大的搜索減少用戶再去鼠標(biāo)指點(diǎn)的查找。)加上服務(wù)器操作用戶還是能夠盡量讓服務(wù)器功能單一化,直截了當(dāng)能夠解決問題是一致的目標(biāo)。可見微軟這樣處理也是一種折中的方式——不完全關(guān)閉用戶自定義經(jīng)典桌面的渴望,又進(jìn)一步引導(dǎo)用戶使用搜索這樣的高效率操作模式。
至于為什么要這樣寫“ desk.cpl,,0 ”,原因來自于傳統(tǒng)窗口下的“單窗口多頁面(多標(biāo)簽、多選項(xiàng)卡)”的設(shè)計(jì)思路。
某某.cpl,@m,n 這樣的表示方法標(biāo)識調(diào)用了 某某.cpl下的那個(gè)頁面@m,上的第幾個(gè)標(biāo)簽n。而通常情況下一個(gè)CPL程序只有一個(gè)主頁面@m,因此微軟的寫法“ desk.cpl,,0 ”表明——打開desk.cpl下的主頁面中的第0號標(biāo)簽。用戶看到的就是一個(gè)只有一個(gè)標(biāo)簽的desk.cpl程序。
好奇的我繼續(xù)向下走,如果不帶任何參數(shù)直接在Windows Server 2012下面打開desk.cpl會看到和設(shè)置分辨率一樣的界面,(插播,在Windows 10下面已經(jīng)不是傳統(tǒng)桌面環(huán)境窗口了,這也證明了微軟逐漸弱化傳統(tǒng)桌面決心!!),而這個(gè)傳統(tǒng)桌面的發(fā)起者是控制面板本身control.exe,后由explorer.exe來接管。
繼續(xù)使用sysinternals的strings.exe程序進(jìn)一步研究desk.cpl可以發(fā)現(xiàn)其中重要的一些開關(guān)項(xiàng):
@Themes
@Desktop
@ScreenSaver
@Appearance
@Settings
他們分辨代表了@m中提及到的多種頁面,而現(xiàn)在被拆分成若干個(gè)獨(dú)立的個(gè)體,雖然入口還是desk.cpl但是最終接管的進(jìn)程已經(jīng)不在是那個(gè)控制面板程序了,在此,進(jìn)一步證明微軟對于傳統(tǒng)桌面弱化的決心,想想以后通過搜索就能進(jìn)行功能的開關(guān)也是一種愉快的事情,真正的條條大路通羅馬!上面的那些開關(guān)項(xiàng)通過字面就能了解到他們的含義。有興趣的朋友可以自己跟著desk.cpl, 后面玩一玩(注意有一個(gè)半角逗號)。
通過strings.exe還發(fā)現(xiàn)一個(gè)項(xiàng)目叫做DESK.CPL,,1,這個(gè)也可以開啟經(jīng)典桌面下的圖標(biāo)開關(guān)窗口,這是為什么呢?讓我們回憶一下Windows XP,用這個(gè)命令我們可以調(diào)出桌面窗口,而其中的自定義桌面就可以完成當(dāng)時(shí)XP桌面上通用圖標(biāo)的設(shè)置。

Figure 6回憶Windows XP 下面的desk.cpl,,1
或許是程序開發(fā)者的留戀,也可能是恰巧碰上,也可能是適應(yīng)老程序兼容性等等理由。但無論如何,過去的就讓它過去吧,要用新的思維去面對新帶來的變化,用新的方法去解決問題。
-=EOB=-
參考:http://vlaurie.com/computers2/Articles/control.htm 關(guān)于控制面板的詳解