查看單個文章
舊 2006-01-30, 04:14 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 WINDOWS 右鍵全攻略

右鍵全攻略

在Windows系統中,只要對著桌面或是文件(夾)按下右鍵,就會彈出一個快捷表單,裡面有對該檔案(夾)的一些常用操作指令,通過右鍵表單,可以方便用戶對文件的某些操作。不知道你是否對它感興趣?是否想對它作一番改頭換面,做出有自己特色的右鍵表單?不用著急,看完本文的大揭密,你將成為這方面的高手!
  修改右鍵表單應該在註冊表中,具體的說,是在HKEY_CLASSES_ROOT根鍵下(這裡可是右鍵表單中所有指令的根源哦!)。展開該根鍵,其下的子鍵主要有兩種:副檔名鍵(.+副檔名)和類定義鍵。一般地說,只要是在windows系統中已註冊過的副檔名,在HKEY_CLASSES_ROOT下均有「•該副檔名」子鍵 ,記錄該副檔名的一些訊息,對某種特定檔案類型的文件的右鍵表單的修改,便是在該鍵或「副檔名file」鍵下的操作。

  一、在所有的文件右鍵表單中加入指令
  如果你的系統上安裝有Winzip、UltraEdit等,當你對任一文件點右鍵時,都會有「Add to zip」、「UltraEdit-32」等指令(當然,Winzip稍有不同,我將在後面講到)。它的增加方法是:
1.開啟「HKEY_CLASSES_ROOT\*」;
2.在其下新增「shell\指令\command」分支,再將command的鍵值設為執行該指令時所用的可執行程序的絕對路徑,並在其後加「%1」即可。
例:在「HKEY_CLASSES_ROOT\*」下新增「shell\用記事本開啟\command」子鍵,將command的鍵值設為「c:\windows\notepad.exe %1」,就會在右鍵表單中出現「用記事本開啟」的指令了。
說明:
1. 要移除該類指令,只需將「指令」子鍵移除即可;
2. 有的人或許會問他按我寫的去做,但是得到的為何與我的有一些不同,這就是我的指令裡有快捷鍵(N),只要在「用記事本開啟」後加入「(&N)」即可。
  二、在特定檔案類型的右鍵表單中加入指令
  剛才說到了Winzip這個軟體,對普通的檔案類型,它的右鍵表單中有「Add to zip」,但是對它所支持的壓縮檔案檔案類型,如*.zip、*.cab、*.rar在其右鍵表單中有「Open with Winzip」、「Extract to
」、「Extract to folder」、「Create Self-Extractor(.EXE)」 等指令,對於自解壓性安裝文件(如OICQ99b),其右鍵表單中有「Run with Winzip」指令。下面是特定檔案類型的右鍵表單的指令增加方法(以在mp3文件的右鍵表單中加入Play with winamp為例):
1.開啟「HKEY_CLASSES_ROOT\mp3_auto_file」主鍵;
2.在其下新增「shell\Play with Winamp(&P)\command」,將command的鍵值設為「C:\Program files\winamp\winamp.exe %1」 。
說明:
當有多個軟體可以播放mp3文件時,我們可以在右鍵表單中增加多條指令,如加入「Play with Unreal plauer」 等指令,但是我們如何將某一條指令定義為預設操作(即右鍵表單中的黑體指令)呢? 你一定會說,很簡單的事情嗎!將mouse移向一mp3文件,在按右鍵的同時按shift,在右鍵表單中選「開啟方式「便可更改,但是這是錯誤的,不信你試試看,這樣只有在右鍵表單中選「開啟」時才會用你所選項的程序來開啟它,否則,它仍舊一如繼往。因為它的預設操作不是「開啟「這條指令。真正的方法是將shell的預設鍵值改為你所想執行的指令,例如將shell的鍵值改為「Winamp」。
還有,不知道你發現了沒有,我在前面的例子中用的是「Play with Winamp」指令,而在這裡用的是「Winamp」,是不是有點不對應呢?說到這裡,真是讓我心酸,本來我在txt我的文件中用shell進行預設操作的轉換時(轉換open與print)挺成功的,但是一轉換「Play with Winamp」與「Play with Unreal」便失敗,總是轉換不過來,最後才明白這可能是「瘟酒吧」的一個bug,它要求轉換時主鍵的鍵名為單個字串串時才有效。對漢字與英文的組合也有效,不過中間可不能有空格(不知道這是否與我的Win98是D版有關?)。
如果你認為上面的方法不太方便且過於複雜,其實在Windows中還提供了不用操作註冊表的更為方便安全的方法:開啟一個資料夾,選「檢視/資料夾選項/檔案類型」, 在這裡你將會找到所有已經註冊的檔案類型,選項「mp3文件/編輯」,看到操作下面的「新增」、「編輯」、「移除」、「設為預設值」這四個按鈕沒有?不用我再教你了吧!嘿嘿。
  三、在所有的資料夾右鍵表單中加入指令
  如果你用過Acdsee這個軟體,就會發現在資料夾的右鍵表單中總有「Browse with acdsee」這一指令,同類的還有Pc-cillin中的Trend Pc-cillin 98指令,下面再該類指令的增加方法:
1.開啟「HKEY_CLASSES_ROOT\diretory\shell」主鍵;
2.在其下新增「指令\command」……下面不用再說了吧!
說明:
1.如果你細心一下的話,你將會發現其實在驅動器的右鍵表單中,也有「Browse with acdsee」 「Trend Pc-cillin98」等指令,驅動器也是特殊的資料夾,但是通過上面的方法是無法在驅動器的右鍵表單中加入指令的。如果要在其中加入指令,須對「HKEY_CLASSES_ROOT\drive\shell」主鍵進行操作;
2.在「HKEY_CLASSES_ROOT」主鍵下還有一個folder子鍵,顧名思義,對它的操作將影響所有的資料夾,包括資源回收桶,切記切記!
四、在所有的文件與資料夾的右鍵表單中加入指令
  如果你自己開發了一個程序,它的操作對象是文件和資料夾,因此你想在所有的文件和資料夾的右鍵表單中加入特定的指令進行操作,這就得看下面的了。
開啟「HKEY_CLASSES_ROOT\AllFilesystemObjects」主鍵,在其下新增「shell\指令\command」,以下操作同前。
  需要指出的是這只是一種解決方法,如果大家看我所抓下的圖,會發現總有一個「IconView」指令,出現在所有的文件和資料夾的右鍵表單中,但是這可不是用這種方法形成的,不妨作一下對比,這條指令是通過該軟體中的應用程式增強庫iv_shext.dll增強而來,因此它出現在右鍵表單的中部。而不是在頂部。(什麼?讓我講一下這種方法?)由於這種方法涉及到編程方面的內容,限於篇幅和主題,我就不講這種方法了(噓!小聲點,其實我也是不會。)

  五、一些特殊指令的增加與移除
1.檔案總管
在Windows系統中,普通資料夾、驅動器、資源回收桶等的右鍵表單中都有「檔案總管「指令,如果你只想在驅動器中保留該指令,可以先在「HKEY_CLASSES_ROOT\folder\shell」主鍵中移除explore子鍵,然後在「HKEY_CLASSES_ROOT\drive\shell」主鍵中新增「explore\command」子鍵,令commmand的鍵值為 「C:\WINDOWS\Explorer.exe/e,/idlist,%I,%L」 怎麼樣,成功了吧!
2.清空資源回收桶
在Windows系統中,只有在資源回收桶的右鍵表單中才有「清空資源回收桶」的指令,是不是太不方便了呢,好,我們可以經過一番改造,讓所有的文件表單中都有「清空資源回收桶」的指令,follow me!
我們的思法是先找出「清空資源回收桶」這個指令的來源,然後將其照搬到「HKEY_CLASSES_ROOT\*」下即可。好,還是先來找吧,我找呀找,終於找到了!——再教你一招,就是一些特殊的指令(特別是第三方提供的軟體),都是由應用程式增強庫(.DLL)增強而來,在註冊表的「shellex\ContextMenuHandlers」 中便能找到它的痕跡。 我們開啟「HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E} \shellex\ContextMenuHandlers」,可以發現其下有一名為「{645FF040-5081-101B-9F08-00AA002F954E}」的子鍵,這就是「清空資源回收桶」指令的根源了。
找到了根源,就容易多了,在「HKEY_CLASSES\ROOT\*\shellex\ContextMenuHandlers」下新增一鍵名為「{645FF040-5081-101B-9F08-00AA002F954E}」的子鍵,怎麼樣,夠酷吧!
3.新增指令的子指令的增加與移除
不知道有沒有遇到這種情況:你經常自己手動式編寫網頁,在服務機構的電腦上的新增指令中有「新增html我的文件」的指令,但是你的電腦上卻沒有,還有,隨著各種軟體的不斷增加,你的新增指令彈出子指令的時間越來越長,夠嗆的吧! 不要緊,不用急,讓我來幫你把該出來的叫出來,不該來的讓它回去!
開啟「HKEY_CLASSES\ROOT\.htm」,增加一主鍵shellnew,然後新增字串串值NullFile ,鍵值為空,你現在再對桌麵點右鍵,看看新增,是不是多了一點什麼? 至於移除,想各位不致讓我多說了吧!
4.剪下、複製、貼上等指令的增加
注意,我只是談剪下、複製、貼上等指令的增加,也就是說對右鍵表單中沒有這些指令的某些對象,可以增加,而對那些本來有就這些指令的對象,就連移除它們,我都無能為力。
好,我現在以資源回收桶為例,來進行剪下、複製、貼上等指令的增加,具體地說,有「開啟、剪下、複製、貼上、重新命名、移除、內容」等指令的增加。 先開啟「HKEY_CLASSES_ROOT\CLSID\{645FF040-5081 -101B-9F08-00AA002F954E}」主鍵,你會發現有「shellfolder」子鍵,在該子鍵下新增二進制值 attributes,它的鍵值就決定了這些指令在右鍵表單中的顯示與隱藏。具體如下:
指令 鍵值
開啟 00 00 00 20
剪下 02 00 00 00
複製 01 00 00 00
貼上 00 01 00 00
移除 20 00 00 00
重新命名 10 00 00 00
內容 40 00 00 00
如果你要顯示某些指令,只需將該指令所對應的鍵值相加,結果作為attributes的鍵值即可。例如:
當attributes值為00 00 00 00(預設)時,將不顯示以上指令,當為73 01 00 20時,將顯示所有的指令。現在好了,可以將「資源回收桶「改為你所想改的名稱了,還可以將「廢物」貼上到資源回收桶了(不過我看這倒沒有多大的作用,是嗎?)
5.「傳送到」及其表單
有的資料夾(如我的文件)的右鍵表單中沒有「傳送到」這條指令,我們可以給它增加上去,方法可以參考「清空資源回收桶」指令的增加方法。就是開啟「 KEY_CLASSES_ROOT\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\shellex\ContextMenuHandlers」,在其下新增「{7BA4C740-9E81-11CF-99D3-00AA004AE837}」子鍵,就可以了。
至於「傳送到「的表單,是不需要在註冊表中對其進行操作的,它的根源是「C:\windows\SendTo」這個資料夾,你只需在這個資料夾內新增一個建立捷逕,讓它指向你所想要傳送到的資料夾,就OK了。
6..尋找
在Windows系統中,普通資料夾及驅動器的右鍵表單中有「尋找……」這條指令,如果我們要在資源回收桶中尋找誤移除的文件,而此時資源回收桶中的文件又多的話,我們就可以在資源回收桶的右鍵表單中加入「尋找……」這條指令。具體方法可以參考2,5。只是需要新增的子鍵為「{61E218E0-65D3-101B-9F08-061CEAC3D50D}」。只不過指令變成了「文件或資料夾……」
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次