注冊(cè)右鍵菜單
發(fā)表時(shí)間:2024-06-18 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]用于開(kāi)發(fā)WINDOWS程序的語(yǔ)言不少,一般來(lái)說(shuō)小型通用程序用DELPHI是個(gè)不錯(cuò)的選擇,沒(méi)聽(tīng)說(shuō)過(guò)嗎???“聰明的程序員用DELPHI”。我們上網(wǎng)常用的FOXMAIL、網(wǎng)絡(luò)螞蟻等都是用它開(kāi)發(fā)的。 興致來(lái)了用DELPHI做個(gè)小程序,比方說(shuō):“大文件切割機(jī)”,要與朋友們共享,想沒(méi)想過(guò)將它注冊(cè)到系統(tǒng)的右鍵...
用于開(kāi)發(fā)WINDOWS程序的語(yǔ)言不少,一般來(lái)說(shuō)小型通用程序用DELPHI是個(gè)不錯(cuò)的選擇,沒(méi)聽(tīng)說(shuō)過(guò)嗎???“聰明的程序員用DELPHI”。我們上網(wǎng)常用的FOXMAIL、網(wǎng)絡(luò)螞蟻等都是用它開(kāi)發(fā)的。
興致來(lái)了用DELPHI做個(gè)小程序,比方說(shuō):“大文件切割機(jī)”,要與朋友們共享,想沒(méi)想過(guò)將它注冊(cè)到系統(tǒng)的右鍵中?朋友們只需在文件上點(diǎn)擊右鍵,就可以選擇啟動(dòng)你的杰作來(lái)工作了。
現(xiàn)在就演示一下如何召喚右鍵:
procedure TForm1.Button1Click(Sender: TObject);
var
a:TRegistry;
begin
a:=TRegistry.create;
a.rootkey:=HKEY_CLASSES_ROOT;
//用openkey打開(kāi)一個(gè)主鍵,如果此主鍵不存在則自動(dòng)創(chuàng)建
if a.openkey(*\shell\cutbig,true) then
begin
//用writestring將設(shè)置值寫(xiě)入打開(kāi)的主鍵
a.writestring(,切割與組裝(&k));
a.closekey;
end;
if a.openkey(*\shell\cutbig\command,true) then
begin
//command子鍵的內(nèi)容是點(diǎn)擊右鍵后選擇相應(yīng)項(xiàng)后要運(yùn)行的程序;
//%1是在單擊右鍵時(shí)選中的文件名
a.writestring(,c:\delphi\myprogram.exe+"%1");
a.closekey;
end;
a.free;
end;
當(dāng)然,要記住在interface的USES中加入registry單元,否則編譯時(shí)無(wú)法識(shí)別TRegistry,這是DELPHI為處理注冊(cè)表而提供的。
如果需要?jiǎng)h去右鍵的這個(gè)功能,如何做?很簡(jiǎn)單:
procedure TForm1.Button2Click(Sender: TObject);
var
a:TRegistry;
begin
a:=TRegistry.create;
a.rootkey:=HKEY_CLASSES_ROOT;
//用deletekey刪除一個(gè)主鍵,其所包含的子鍵也被刪除,如果已無(wú)此主鍵,運(yùn)行刪除操作不會(huì)帶來(lái)別的危害
a.deletekey(*\shell\cutbig);
a.free;
end;
怎么樣,右鍵呼之即來(lái),揮之即去的感覺(jué),酷吧?!