明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

注册右键菜单

[摘要]用于开发WINDOWS程序的语言不少,一般来说小型通用程序用DELPHI是个不错的选择,没听说过吗???“聪明的程序员用DELPHI”。我们上网常用的FOXMAIL、网络蚂蚁等都是用它开发的。 兴致来了用DELPHI做个小程序,比方说:“大文件切割机”,要与朋友们共享,想没想过将它注册到系统的右键...
用于开发WINDOWS程序的语言不少,一般来说小型通用程序用DELPHI是个不错的选择,没听说过吗???“聪明的程序员用DELPHI”。我们上网常用的FOXMAIL、网络蚂蚁等都是用它开发的。
兴致来了用DELPHI做个小程序,比方说:“大文件切割机”,要与朋友们共享,想没想过将它注册到系统的右键中?朋友们只需在文件上点击右键,就可以选择启动你的杰作来工作了。
现在就演示一下如何召唤右键:
procedure TForm1.Button1Click(Sender: TObject);
var

a:TRegistry;
begin
    a:=TRegistry.create;
    a.rootkey:=HKEY_CLASSES_ROOT;
//用openkey打开一个主键,如果此主键不存在则自动创建
    if a.openkey(*\shell\cutbig,true) then
    begin
    //用writestring将设置值写入打开的主键
    a.writestring(,切割与组装(&k));
    a.closekey;
    end;
    if a.openkey(*\shell\cutbig\command,true) then
    begin
    //command子键的内容是点击右键后选择相应项后要运行的程序;
    //%1是在单击右键时选中的文件名
    a.writestring(,c:\delphi\myprogram.exe+"%1");
    a.closekey;
    end;
    a.free;

end;
当然,要记住在interface的USES中加入registry单元,否则编译时无法识别TRegistry,这是DELPHI为处理注册表而提供的。
如果需要删去右键的这个功能,如何做?很简单:
procedure TForm1.Button2Click(Sender: TObject);
var

a:TRegistry;
begin
    a:=TRegistry.create;
    a.rootkey:=HKEY_CLASSES_ROOT;
//用deletekey删除一个主键,其所包含的子键也被删除,如果已无此主键,运行删除操作不会带来别的危害
    a.deletekey(*\shell\cutbig);
a.free;

end;
怎么样,右键呼之即来,挥之即去的感觉,酷吧?!