如何获得某个文件的打开程式的名字和路径和图标?如doc由c:/office/word.exe打开(100分)

  • 主题发起人 主题发起人 wlyft
  • 开始时间 开始时间
W

wlyft

Unregistered / Unconfirmed
GUEST, unregistred user!
如何获得某个文件的打开程式的名字和路径和图标?如doc由c:/office/word.exe打开
 
lmd的LMDSysFileAssoc可以做到,refresh一下,然后看他的fileassoc属性就有了
 
我需要例子!!!!<br>
 
这些动作可以在获取进程列表再进一步实现的,<br>在获取某程序进程时可以获得这程序的路径,名字,再通过路径读取程序图标了<br><br>实例嘛我自己机里的也给删了,你可以在网上搜索一下,是可以找到的,你分开搜索就可以了
 
不是你说的那个意思!
 
你是指某个文件当前由谁打开 还是某种类型文件被关联到谁打开?
 
对哦。把问题说清楚一点了。有可能理解错误的了。
 
某种类型文件被关联到谁打开
 
procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; FileType:string;<br>&nbsp; Reg:TRegistry;<br>begin<br>&nbsp; FileType:='.doc';<br>&nbsp; Reg:=TRegistry.Create;<br>&nbsp; try<br>&nbsp; &nbsp; Reg.RootKey:=HKEY_CLASSES_ROOT;<br>&nbsp; &nbsp; if Reg.OpenKeyReadOnly('/'+FileType) then<br>&nbsp; &nbsp; &nbsp; if Reg.OpenKeyReadOnly('/' + Reg.ReadString('') + '/shell/Open/command') then<br>&nbsp; &nbsp; &nbsp; &nbsp; ShowMessage(FileType + '类型文件的打开程序为:' + Reg.ReadString(''));<br>&nbsp; &nbsp; Reg.CloseKey;<br>&nbsp; finally<br>&nbsp; &nbsp; Reg.Free;<br>&nbsp; end;<br>end;<br>
 
procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; FileType:string;<br>&nbsp; Reg:TRegistry;<br>begin<br>&nbsp; FileType:='.doc';<br>&nbsp; Reg:=TRegistry.Create;<br>&nbsp; try<br>&nbsp; &nbsp; Reg.RootKey:=HKEY_CLASSES_ROOT;<br>&nbsp; &nbsp; if Reg.OpenKeyReadOnly('/'+FileType) then<br>&nbsp; &nbsp; &nbsp; if Reg.OpenKeyReadOnly('/' + Reg.ReadString('') + '/DefaultIcon') then<br>&nbsp; &nbsp; &nbsp; &nbsp; ShowMessage(FileType + '类型文件的默认图标为:' + Reg.ReadString(''));<br><br>&nbsp; &nbsp; Reg.CloseKey;<br>&nbsp; finally<br>&nbsp; &nbsp; Reg.Free;<br>&nbsp; end;<br>end;<br>
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部