操作系统的右键,如何添加,像WinRar,EditPlus等很多软件,是如何实现的?
请各位大侠不吝指教,谢谢
------解决方案--------------------其实就是在windows注册表里添加相应的项。
比如下面演示在右键菜单里添加一个“编辑记事本文件”的项(当右击一个.txt文件时,可以出现)
uses Registry;
procedure TForm1.Button1Click(Sender: TObject);
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey( '*\shell\LihuaSoft\ ',True);
Reg.WriteString( ' ', '编辑记事本文件 ');
Reg.OpenKey( 'Command ',True);
Reg.WriteString( ' ', 'Notepad.exe %1 ');
Reg.Free;
end;
------解决方案--------------------它们在ShellEx子项下. ShellEx同样在 * 项下. 你也可以直接写注册表项到 ShellEx 项下. 道理是一样的.
------解决方案--------------------windows shell 扩展编程
------解决方案--------------------不知楼主有没有试过用ParamStr获得命令行参数?
例如,在控制台下,我们运行NotePad.exe c:\test.txt(回车)这个命令行,就会用记事本打开c:\test.txt。
如果楼主用ParamStr写过获得命令行参数的程序,那结合前面提到的注册表处理,一定会明白是怎么一回事。
如果楼主没有用过ParamStr,那请Google或Baidu一下“ParamStr”或“Delphi命令行参数”。
------解决方案--------------------奇怪,我的级别在这一贴怎么变成一个三角了?