對(duì)于普通的不依賴于外置程序目錄結(jié)構(gòu)的注冊(cè)表項(xiàng)目,可以用常規(guī)方法將修改項(xiàng)寫成REG文件(可以直接從XP系統(tǒng)中導(dǎo)出,然后在其基礎(chǔ)上修)。在外置程序目錄下有個(gè)RegDoc.cmd,這個(gè)文件是毛桃用來注冊(cè)外置程序文檔關(guān)聯(lián)的(就是改注冊(cè)表),可以用記事本打開它,加入一行:
則PE加載外部配置時(shí)它會(huì)自動(dòng)導(dǎo)入。
這是最簡(jiǎn)單的改注冊(cè)表的方法。但是如果要修的項(xiàng)依賴于外置程序的目錄結(jié)構(gòu)(比如要在右鍵菜單中添加用UltraEdit32打開),就不能用上面的方法了,因?yàn)橥庵贸绦虻慕^對(duì)路徑是不確定的(不同的機(jī)器中盤符不能確定)。
這種情況就需要用原始的REG命令來做了(就跟毛桃在REGDOC.CMD中的做法一樣),這個(gè)命令的語(yǔ)法比較艱澀,且注冊(cè)表鍵值的表示方法跟REG文件不同。在命令提示符下通過/?參數(shù)可以獲得它的用法(中文的哦),提醒一下/?參數(shù)是個(gè)以多層使用的,如REG/?得到的是基本參數(shù)的說明,如用REGADD/?則可得到ADD這個(gè)參數(shù)的用法……
有了這個(gè)命令的基礎(chǔ)后,我們來看看是怎么解決不定路徑問題的。
在REGDOC.CMD中有一個(gè)環(huán)境變量%TP%,代表的是REGDOC.CMD這個(gè)文件所在的路徑。我們可以通過%TP%..表示它的上層目錄,%TP%....表示它的上兩層目錄。用此方法可以索引到外置程序目錄內(nèi)的所有路徑,而不用考慮外置程序目錄本身的絕對(duì)路徑。
(還有個(gè)方法就是在WinPE.INI中用PECMD的REGI命令一行行添加,這個(gè)比系統(tǒng)的REG命令好理解些,同樣可以用%CurDir%環(huán)境變量來索引外置程序目錄內(nèi)的所有路徑)
直接修改的好處是啟動(dòng)PE就是所需要設(shè)置,不依賴外部配置文件,PE的加載速度也比較快,但麻煩。修改配置文件則比較簡(jiǎn)單,但要依賴配置文件加載過程(直到加載到那些語(yǔ)句時(shí)才會(huì)生效),啟動(dòng)時(shí)需要額外的時(shí)間加載,相當(dāng)于給系統(tǒng)打補(bǔ)丁去修改默認(rèn)設(shè)置。
一般情況下不推薦直接修改PE注冊(cè)表,麻煩,重新打包也比較花時(shí)間。但有些跟系統(tǒng)緊密的鍵必須直接修改才有效,比如屏幕分辨率,雖然在外面也可以修改有,但在登錄時(shí)加載到它之前是無效的,那么在登錄的過程中屏幕就會(huì)因切換分辨率而閃爍。
自己修改注冊(cè)表的前提是自己要知道所希望的改變要修注冊(cè)表中的哪些鍵值。可以上網(wǎng)搜索,現(xiàn)在網(wǎng)上的這些資源多得是,實(shí)在找不到的話可以還可以用RegMon之類的注冊(cè)表監(jiān)視軟件來定位。
比如修改記事本的自動(dòng)換行,又不知道相應(yīng)的鍵值在哪。可以先開啟RegMon,然后在記事本中改變換行的選項(xiàng),看RegMon的監(jiān)視結(jié)果,來定位是哪個(gè)鍵值。因?yàn)橄到y(tǒng)本身也在不斷的更改注冊(cè)表,RegMon中的顯示會(huì)很多,但是通過不斷的改變記事本中的設(shè)置,最終是可以找到的,這個(gè)過程需要的是耐心和細(xì)心。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注