史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 作業系統操作技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2004-05-05, 07:11 PM   #1
mic64
註冊會員
 
mic64 的頭像
榮譽勳章
UID - 582
在線等級: 級別:16 | 在線時長:330小時 | 升級還需:27小時級別:16 | 在線時長:330小時 | 升級還需:27小時級別:16 | 在線時長:330小時 | 升級還需:27小時級別:16 | 在線時長:330小時 | 升級還需:27小時級別:16 | 在線時長:330小時 | 升級還需:27小時級別:16 | 在線時長:330小時 | 升級還需:27小時
註冊日期: 2002-12-06
VIP期限: 2007-04
住址: MIB總部
文章: 412
精華: 0
現金: 499 金幣
資產: 499 金幣
預設 右鍵菜單大揭密

  在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_R

  OOT\*"下新建"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"等命令,但是我們如何將某一條命令定義為默認操作(即右鍵菜單中的黑體命令)呢?

  你一定會說,很簡單的事情嗎!將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"主鍵進行操作;

  3.在"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."發送到"及其菜單

  有的文件夾(如我的文檔)的右鍵菜單中沒有"發送到"這條命令,我們可以給它添加上去,方法可以參考"清空回收站"命令的添加方法。就是打開" HKEY_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}"。只不過命令變成了"文件或文件夾……"

  講了這麼多,你現在應該懂如何修改右鍵菜單了吧?以上所講均在Windows98中文版下通過。最後祝大家都能把自己的右鍵菜單改得別具一格,得心應手!!
mic64 目前離線  
送花文章: 0, 收花文章: 21 篇, 收花: 61 次
舊 2004-05-05, 07:17 PM   #2 (permalink)
註冊會員
榮譽勳章
UID - 14476
在線等級: 級別:8 | 在線時長:115小時 | 升級還需:2小時級別:8 | 在線時長:115小時 | 升級還需:2小時級別:8 | 在線時長:115小時 | 升級還需:2小時
註冊日期: 2002-12-19
VIP期限: 2011-06
住址: 美女主播群親衛隊
文章: 243
精華: 0
現金: 0 金幣
資產: 1009257 金幣
預設

嗯,感謝大大的分享
joexyz 目前離線  
送花文章: 1, 收花文章: 5 篇, 收花: 5 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 12:22 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1