Delphi - 如何为自动打开注册文件扩展名?

时间:2014-09-26 07:11:38

标签: delphi extension-methods tmemo

如何在Delphi应用程序中自动打开自定义扩展程序?我正在尝试申请 加载文本文件,但扩展名不同。

示例:Text.DZ |我想要的就是当我点击带有.DZ扩展名的文件时,它会自动打开我的应用并将文本内部加载到memo1.lines.text

我知道我必须注册我的新自定义扩展程序,但我不知道该怎么做 将文本加载到我的应用程序中。

此外,如果您可以包含一个非常棒的源代码示例。

任何帮助将不胜感激!和 对不起,我的新闻和不好的英语解释,但我希望你们了解我(^ - ^)/。

1 个答案:

答案 0 :(得分:1)

有一种方法可以通过编程方式进行,但我不记得袖口是怎么回事。

也就是说,如果您只是想为自己的个人使用而不是为了分发给其他人的软件,那么最简单的方法就是使用Windows资源管理器:点击数据文件你想要,然后右键单击并选择打开方式 - > ...你可能需要在底部选择Other ...选项。这将打开一个对话框,让您选择您的应用程序。在某个地方也应该有一个复选框,上面写着“Make Default”或“Always Open With This”等等。确保选中该框。然后单击“确定”几次,即可参加比赛。

但您还需要设置应用程序以从命令行读取文件名。您可以使用ParamStr和ParamCount。

for i := 0 to ParamCount do
  ShowMessage('Parameter '+IntToStr(i)+' = '+ParamStr(i));

当您双击数据文件时,它将打开您的应用程序并将此文件名作为ParamStr(1)传递。所以,当你得到它时,只需做这样的事情:

memo1.lines.LoadFromFile( ParamStr(1) );

将此作为起始点使用(如果只是复制粘贴,则无法编译!):

procedure TMyForm234:FormCreate( blah blah )
begin
  if ParamCount > 0 then
    theMemo.Lines.LoadFromFile( ParamStr(1) );
end;