三明治英语单词怎么读:怎么知道一个程序的存放路径啊?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 17:36:18
例如我想知道word这个程序的存放路径怎么反查找啊(不用搜索)

楼主说的没错。所有安装的程序,都会在注册表里登记的。Office也不例外。
uses Registry;//在接口处引用该单元。
function GetWordPath:string;
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;//创建注册表对象
Reg.RootKey:=HKEY_CURRENT_USER;//设置根路径
//打开指定键,但注意,根据各人安装的Office版本不同,..\10.0\处也会不同。例如,我装的是Office2003,为..\11.0\..
Reg.OpenKey('Software\Microsoft\Office\10.0\Word\Options',false);
result:=Reg.ReadString('PROGRAMDIR');//读取键值,此处记录着Word安装目录所在。
Reg.CloseKey;//关闭
Reg.Free;
end;
OpenKey的第二个参数为True时:当不存在此键值时,创建该键值。
OpenKey成功,则返回True,否则返回False。楼主可在此判断版本或有无安装Office

在 开始菜单里找到这个程序,单击属性查看.

可以从注册表里读取相关的信息

我给出Delphi的做法

uses Registry;
function GetWordPath:string;
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKey('Software\Microsoft\Office\10.0\Word\Options',false);
result:=Reg.ReadString('PROGRAMDIR');
Reg.CloseKey;
Reg.Free;
end;