Win8(的快速訪問菜單(沒有了開始)揭秘過程)
大家好,今天小悅來為大家解答以上問題。Win8,的快速訪問菜單(沒有了開始)揭秘過程很多人還不知道,現(xiàn)在讓我們一起來看看吧!
雖然沒了"開始"按鈕,我們在Win8上可以通過更為快捷和自然的方式打開"開始"屏幕:
1. 對于觸控設(shè)備,將手指從屏幕右側(cè)向內(nèi)滑動,可觸發(fā)超級按鈕欄,然后選擇"開始"超級按鈕。
2. 將鼠標(biāo)移動至屏幕左下角,并單擊鼠標(biāo)左鍵。
不知您是否有注意到,將鼠標(biāo)移至屏幕左下角后,單擊一下鼠標(biāo)右鍵會有什么發(fā)生呢?
沒錯,這個就是單擊鼠標(biāo)右鍵,或者按下 Win+X 組合鍵后所得到的彈出式快捷菜單。這里我們稱之為 Win+X 菜單,或者"快速訪問菜單"。對于熱衷于傳統(tǒng)快速啟動欄或者傳統(tǒng)開始菜單的朋友們,它看似是一個可以好好利用的地方。但是它真的可以被自定義嗎?經(jīng)我的測試,對于默認(rèn)的這些個條目,如果您不喜歡,可以刪除;但是您想加進來快捷方式的話,恐怕有些難度。
就像某些地方介紹的一樣,其實,這個快速訪問菜單的內(nèi)容呢,都是保存在用戶配置文件的一個文件夾中的。這個文件夾的路徑是 %LocalAppData%/Microsoft/Windows/WinX 。通過資源管理器鍵入這個地址,我們可以轉(zhuǎn)到這個文件夾:
隨便打開其中一個文件夾,你可以發(fā)現(xiàn)里面其實都是快捷方式哦~
那么為什么有三個文件夾?它們與快速訪問菜單有何關(guān)系呢?
其實,仔細(xì)看可以發(fā)現(xiàn),快速訪問菜單上面是有兩條分隔線的,這兩條線將菜單分為了上中下三個區(qū)域,自上而下,每個區(qū)域里面的快捷方式集合分別對應(yīng)著文件夾中的 Group 3、Group 2和Group 1這三個文件夾,就像是這樣:
那么,例如我們要把桌面這個條目刪除,只需去 Group 1 這個文件夾下,刪除其快捷方式即可。如果你要重新增加一組呢,那可以新建一個文件夾重命名為"Group4"。這些操作在重啟資源管理器進程后生效。
可是對于自定義該菜單,難度出現(xiàn)在哪里呢?難度其實就是這里預(yù)先存在的快捷方式們都不是普通的快捷方式。這些快捷方式被算出哈希值(Hash),并且在系統(tǒng)啟動的時候通過一些模塊對這些位置的快捷方式進行哈希值校驗。只有通過的快捷方式在登錄后才可供使用,而自定義的那些由于通不過檢查,所以最終還是不能顯現(xiàn)出來。(起初我們走了很多彎路,以為跟注冊表的某些鍵值有直接關(guān)系,其實不然。)
既然是這樣,那我們從理論上有兩種辦法去繞過這一機制,一種是找到這些算出的Hash值是跟哪兒的hash值進行對比的,也就是說,我們可以往可能存在的一個Hash值庫里面添加我們自定義的快捷方式的Hash值;而第二種辦法呢,則是關(guān)閉系統(tǒng)的這個Hash值校驗功能,讓所有的自定義快捷方式同預(yù)先定義的特殊快捷方式混在一起,都顯示出來。
對于第一種辦法,其實系統(tǒng)可以通過 HashData 函數(shù),將快捷方式的指向地址等一些信息進行聯(lián)合計算,算出一個唯一的Hash值,存在系統(tǒng)的某個Object中,像文件的Metadata里面可不可以存呢?我覺得還是有可能的。那會不會有個編譯好的文件存儲這些Hash呢?也是有可能的吧,總之可能性是多種多樣的,篇幅有限,這里不深入進一步研究探討。
對于第二種辦法,我們已經(jīng)看見,system32 下面是有一個系統(tǒng)文件專門負(fù)責(zé)展現(xiàn)新的"開始"屏幕和負(fù)責(zé)一些 Modern UI 的事情的,叫"twinui.dll"。經(jīng)證實,它的一部分內(nèi)容控制著 Windows 8 啟動時對這些快捷方式進行 Hash 校驗與否。我們可以通過 Hex 編輯器將其中的部分內(nèi)容進行修改,達到關(guān)閉 Hash 校驗的目的。具體做法,在這里不便透露。而且篡改系統(tǒng)文件有可能會造成系統(tǒng)的不穩(wěn)定,這也一直是不推薦的做法。但對于學(xué)習(xí)和研究目的,我們發(fā)現(xiàn)了它的存在,也終于發(fā)現(xiàn)了這個機制背后的一些過程。
目前,如果您要學(xué)習(xí)和研究 Win+X 快速訪問菜單這一塊,那么就像當(dāng)初要對 Windows 7 應(yīng)用第三方自定義主題一樣,得對管理這個機制的系統(tǒng)文件進行修改。建議您修改前先備份,并可使用網(wǎng)上廣為流傳的名叫"Win+X Menu Editor"的一款小程序進行修改。
我想,微軟在這一塊做了限制,一方面是為了防止惡意軟件在用戶不知情的情況下利用這里進行不安全的操作,另一方面呢,則是希望能保護原生的 Windows 8 產(chǎn)品設(shè)計和用戶體驗,不希望這個快速訪問菜單成了 Windows 傳統(tǒng)開始菜單的復(fù)原地。您覺得呢?歡迎各位提出觀點和進行討論。
最后,如果您要了解上文提到過的系統(tǒng)中的 HashData 函數(shù),那么請訪問:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb759853(v=vs.85).aspx
如果您好奇同一個 Group 文件夾下的眾多快捷方式是如何進行排序的,又是如何做到快捷方式的名稱與快速訪問菜單里顯示的名稱又可以不一樣的,大家可以自己動手摸索和探究一下。小提示就是,不要忘記隱藏的 desktop.ini 文件咯~
本文到此結(jié)束,希望對大家有所幫助。
標(biāo)簽: