怎么建立文件关联

    技术2026-08-29  5

    如何实现文件关联

    建立文件关联可实现某种扩展名的文件由对应的应用程序打开,而实现文件关联的核心问题是对注册表的操作。所有文件的关联都保存在HKEY_CLASSES_ ROOT下,如图22所示。

    图22 注册表中的文件关联键 {转载,图片无法显示, @_@...}

    因此要实现文件关联必须在HKEY_CLASSES_ROOT 中增加两个键值,一是和文件扩展名对应的类型说明;二是打开这种类型文件所需要执行的应用程序。下面完成一个示范程序,选择“File|New Application”菜单命令,在默认的窗体的OnCreate事件中添加如下所示的代码。事实上,有关文件的关联工作最好在主窗体的OnCreate事件中完成。

    Procedure TForm1.FormCreate(Sender: TObject);

    var

    lphKey: HKEY;

    sKeyName: string;

    sKeyValue: string;

    begin

    sKeyName := 'myfile';

    sKeyValue := '我的文档';

    RegCreateKey(HKEY_CLASSES_ROOT,pchar(sKeyName), lphKey);

    RegSetValue(lphKey, '', REG_SZ,pchar(sKeyValue), 0);

    sKeyName := '.qjg';

    sKeyValue := 'myfile';

    RegCreateKey(HKEY_CLASSES_ROOT,pchar(sKeyName), lphKey);

    RegSetValue(lphKey, '', REG_SZ,pchar(sKeyValue), 0);

    sKeyName := 'myfile';

    sKeyValue := 'c:/Winnt/NotePad.exe %1';   //如果你知道DOS下的.Bat文件的语法的话便知%1指的是要打开的文件

    RegCreateKey(HKEY_CLASSES_ROOT,pchar(sKeyName), lphKey);

    RegSetValue(lphKey, 'shell/open/command', REG_SZ,pchar(sKeyValue), MAX_PATH);

    end;

    按下F9键运行程序,然后使用Regedit打开注册表编辑器,可见新的键值已经建立,如图23所示。

    图23 建立了新的键值

    新建一个扩展名为qjg的文件,双击打开,则系统会自动使用Windows记事本程序打开这个文件。

    最新回复(0)