Delphi下文件关联问题 请问如何使得某后缀名的文件关联到程序?并该文件的图标为该程序的图标?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 非常方便的,用TRegistry类来操作注册表,如注册".abc"文件1. 在HKEY_CLASSES_ROOT下建立一个".abc"主键,2. 在这个键的默认里设置一个值,如:"ABCFile",随便的3. 在HKEY_CLASSES_ROOT下建立一个"ABCFile"主键,必须同上面一样4. 在ABCFile下建立一个"Shell"主键5. 在"Shell"下建立一个"Open"主键6. 在"Open"下建立一个"Command"主键7. 设置Command主键的默认值为这个文件类型关联的程序全路径,加上" %1"uses Registry;procedure RegFile(FileExt, FileDisc, ExeFileName: string; IconIndex: integer);var Reg: TRegistry;begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_CLASSES_ROOT; Reg.OpenKey(FileExt, true); Reg.WriteString('', FileDisc'); Reg.CloseKey; Reg.OpenKey('\' + FileDisc + '\Shell\Open\Command', true); Reg.WriteString('', '"' + ExeFileName + '" %1'); Reg.CloseKey( Reg.OpenKey('\' + FileDisc + '\DefaultIcon', true); //注册文件图标 Reg.WriteString('', '"' + ExeFileName + '",' + IntToStr(IconIndex)); Reg.CloseKey; finally Reg.Free; end;end;使用: RegFile('.Txt', 'TxtFile', 'c:\winnt\notepad.exe', 0); 知道handle等信息,怎么拦截它的消息? delphi 中继承的问题 在线等待,急急急!---如何修改listbox中指定项的颜色???? 请问fastreport如何画斜线啊?急哦 能不能改成不用“元、角、分”呀?(100分等着你,在线等待) 请教如何用Query控件实现多表连接查询? 请帮帮我啊,在anywhere6.0中使用中文乱码的问题. 收到一封CSDN发给我的邮件~~~ 怎样把treeview中所有节点内容保存住 backup database bak to disk='e:\2222' 对ADO+ACCESS数据库,行吗? 大家帮帮忙,主码的问题 ondbclick事件问题
1. 在HKEY_CLASSES_ROOT下建立一个".abc"主键,
2. 在这个键的默认里设置一个值,如:"ABCFile",随便的
3. 在HKEY_CLASSES_ROOT下建立一个"ABCFile"主键,必须同上面一样
4. 在ABCFile下建立一个"Shell"主键
5. 在"Shell"下建立一个"Open"主键
6. 在"Open"下建立一个"Command"主键
7. 设置Command主键的默认值为这个文件类型关联的程序全路径,加上" %1"uses
Registry;
procedure RegFile(FileExt, FileDisc, ExeFileName: string; IconIndex: integer);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey(FileExt, true);
Reg.WriteString('', FileDisc');
Reg.CloseKey; Reg.OpenKey('\' + FileDisc + '\Shell\Open\Command', true);
Reg.WriteString('', '"' + ExeFileName + '" %1');
Reg.CloseKey( Reg.OpenKey('\' + FileDisc + '\DefaultIcon', true); //注册文件图标
Reg.WriteString('', '"' + ExeFileName + '",' + IntToStr(IconIndex));
Reg.CloseKey;
finally
Reg.Free;
end;
end;使用:
RegFile('.Txt', 'TxtFile', 'c:\winnt\notepad.exe', 0);