想自己用c#写个资源管理器,并且模拟操作系统打开文件的功能:双击一个文件,用与之关联的程序打开,比如打开.txt文件就用notepad.exe程序,打开.pdf文件就用D:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe打开。但是在程序设计阶段不可能考虑到所有的拓展名,所以就想用注册表中的信息来实现特定拓展名和程序的关联,这里不只要一个程序名,还要定位到程序的路径,上面notepad.exe只要一个名称是因为在系统文件夹中就有这个程序了,但是其它的安装程序就要明确的路径了。
自己在注册表中找了很久后,发现,比如.txt文件的打开信息可以在下面找到,
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList,但是这里提供的都是程序名,但不是精确的程序路径,所以还不是能在C#中使用。
望高手赐教!!
HKEY_CLASSES_ROOT
在这个节点下面有扩张信息,也有关联的文件信息