首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi编程,检测电脑下是否装有 pdf 阅读器

2013-01-01 
delphi编程,检测电脑上是否装有 pdf 阅读器delphi,如何编程实现检测电脑上是否装有pdf阅读器?急用,谢谢大

delphi编程,检测电脑上是否装有 pdf 阅读器
delphi,如何编程实现检测电脑上是否装有pdf阅读器?急用,谢谢大家了
[解决办法]
注册表就成。
[解决办法]
应该在注册表里有注册信息,去查资料,看看写到注册表什么地方了,自己查注册表判断
[解决办法]
var
  h: HKEY;
begin
  if RegOpenKey(HKEY_CLASSES_ROOT, '.pdf', h) = ERROR_SUCCESS then
  begin
    RegCloseKey(h);
    ShowMessage('装有pdf阅读器')
  end else
    ShowMessage('未装pdf阅读器')
end;
[解决办法]

引用:
应该在注册表里有注册信息,去查资料,看看写到注册表什么地方了,自己查注册表判断

这种方法可行
[解决办法]
procedure TForm1.buttonClick(Sender: TObject);
var
     aregistry:TRegistry;
begin
     aregistry:=TRegistry.Create;
     aregistry.RootKey:=HKEY_LOCAL_MACHINE;
     try
           if  aregistry.OpenKey('SOFTWARE\Adobe\Acrobat Reader',True) then
                 begin
                      ShowMessage('已安装');
                 end else
                      begin
                           ShowMessage('未安装');
                      end;

     except
     end;
end;
[解决办法]
给个示例,输入扩展名,输出关联命令行,else可自己补齐。
注: 某些文件格式无法获取。

procedure TForm1.Button1Click(Sender: TObject);
var
  MyRegistry : TRegistry;
  t1 , t2 : string;
begin
  if Edit1.Text <> '' then //文件扩展名,例如pdf
  begin
    MyRegistry := TRegistry.Create;
    MyRegistry.RootKey := HKEY_CLASSES_ROOT;
    if (MyRegistry.OpenKey('.'+Edit1.Text,False)) then
    begin
      t1 := MyRegistry.ReadString('');
      MyRegistry.CloseKey;
      if t1 <> '' then
      begin
        if (MyRegistry.OpenKey(t1 + '\shell\Open\command',False)) then
        begin
          t2 := MyRegistry.ReadString('');
          Edit2.Text := t2; //关联的命令行
        end;


        MyRegistry.CloseKey;
      end;
    end;
    MyRegistry.Free;
  end;
end;

热点排行