请问怎样才可以使扩展名abc的文件默认用你指定的程序去打开。

HarryZhang 2001-03-04 10:58:00
请问怎样才可以使扩展名abc的文件默认用你指定的程序去打开。(用Delphi编)最好能标注释。
...全文
186 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kingron 2001-03-04
  • 打赏
  • 举报
回复
来晚了。哈哈
月光 2001-03-04
  • 打赏
  • 举报
回复
uses Registry;

function SetAssociatedExec(FileExt, Filetype, FileDescription, MIMEType, ExecName: string): Boolean; {修改成功,返回True,否则False}
var Reg: TRegistry;
begin
Result := False; {}
if (FileExt = '') or (ExecName = '') then Exit; {如果文件类型为空或者没有定义执行程序就退出,FileExt必须带″.″,如.BMP}
Reg := TRegistry.Create;
try
Reg.RootKey := HKey_Classes_Root;
if not Reg.OpenKey(FileExt, True) then Exit; {当不能正确找到或创建FileExt键时退出,这种情况一般是注册表有错误,以下同}
Reg.WriteString('', FileType);
if MIMEType <> '' then Reg.WriteString('Content Type', MIMEType);
Reg.CloseKey;
if not Reg.OpenKey(FileType, True) then Exit;
Reg.WriteString('', FileDescription);
if not Reg.OpenKey('shell\open\command', True) then Exit;
Reg.WriteString('', ExecName); {执行程序一般都有参数,例如WinZip的“winzip32.exe ″%1″”,″%1″参数指ZIP文件的文件名。因此ExecName应视情况加入参数}
Reg.CloseKey;
finally Reg.Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var s: string;
begin
SetAssociatedExec('.abc', 'Project1', '', '',application.ExeName);
end;

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧