如何做文件关联? 例如,在通常情况下,只要双击BMP文件,就会自动用画图程序打开此图像。问如何在Delphi中实现能自动打开自定义文件类型? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 文件关联的目的是要实现某种扩展名的文件由相应的应用程序来打开,对于编写的应用软件来说,由于一般都有设计者特定的扩展名的数据文件,软件编制者应在程序中实现自动关联而不能由用户手工去实现。下面给出实现文件关联的实用程序。 实现文件关联的核心是对注册表的操作, 所有的文件关联都在HKEY—CLASSES— ROOT 下面,要实现文件关联必须在HKEY—CLASSES—ROOT 中增加两个键值,一是和文件扩展名对应的类型说明,二是对这种类型文件的操作所需要执行的应用程序。下面举例说明,本例实现将扩展名为.xyz的文件定义为“我自己的文件”类型,双击此种类型的文件时执行的打开功能使用记事簿程序。 实现这一功能需要用到Delphi中的函数 RegCreateKey、RegSetValue。实现如下: 在窗体中放置一个按钮,双击按钮写如下代码:procedure TForm1.Button1Click(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 := '.xyz'; sKeyValue := 'myfile'; RegCreateKey(HKEY—CLASSES—ROOT, pchar(sKeyName), lphKey); RegSetValue(lphKey, '', REG—SZ, pchar(sKeyValue), 0); sKeyName := 'myfile'; sKeyValue := 'c:\Windows\NotePad.exe %1'; RegCreateKey(HKEY—CLASSES—ROOT, pchar(sKeyName), lphKey); RegSetValue(lphKey, 'shell\open\command', REG—SZ, pchar(sKeyValue), MAX—PATH);end; 建立一新文件,使其扩展名为.xyz,然后双击它看是否是启动记事簿来打开的。-------------------------------------------------------------------------网页链接地址:http://www.mhdn.net/p/2002-10-18/6136.html转自 明辉开发者网络MHDN 如何获取系统的应用程序 一个关于嵌套查询的问题。 我这样将EXE文件保存到数据库的,但不知道怎么加进度条 ACCESS中的日期查询问题,头都大了 关于第三方控件的使用,有两个问题 如何将表的某列值赋给一个字符串变量? 我用了ADOQuery,DBGrideh控件,我想修改某一个单元格(通过picklist)的时候,不让他马上存入数据库中?这个怎么控制? sql总是不正解,请看看! 同盟们 帮帮忙! 怎么样才能学好~DELPHI!来者有分! 报表中利用SUM函数求和的两个问题,在线等待,急!!! 怎样才能使c++builder和delphi6共存?
procedure TForm1.Button1Click(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 := '.xyz';
sKeyValue := 'myfile';
RegCreateKey(HKEY—CLASSES—ROOT, pchar(sKeyName), lphKey);
RegSetValue(lphKey, '', REG—SZ, pchar(sKeyValue), 0);
sKeyName := 'myfile';
sKeyValue := 'c:\Windows\NotePad.exe %1';
RegCreateKey(HKEY—CLASSES—ROOT, pchar(sKeyName), lphKey);
RegSetValue(lphKey, 'shell\open\command', REG—SZ, pchar(sKeyValue), MAX—PATH);
end; 建立一新文件,使其扩展名为.xyz,然后双击它看是否是启动记事簿来打开的。-------------------------------------------------------------------------
网页链接地址:http://www.mhdn.net/p/2002-10-18/6136.html
转自 明辉开发者网络MHDN