例如:xxx.bmp文件
如何得到能用那些程序打开,并把这些程序的windows显示名称添加到菜单中,
这些新添加的菜单项的ONclick事件怎么写?(当然是要打开 xxx.bmp了)

解决方案 »

  1.   

    注册表:HKEY_CURRENT_USER\Software\Microsoft\Windows\
    CurrentVersion\Explorer\FileExts\.bmp\OpenWith-List (.bmp就是要打开文件的后缀名)里面的abcd项就是打开方式的推荐程序列表,数据就是程序名。
      

  2.   

    你试一下这样:var FileName:string;
    begin
      FileName:='a.bmp';
      ShellExecute(0,'open','rundll32.exe',PChar('shell32.dll,OpenAs_RunDLL '+FileName),'',SW_NORMAL);
    end;
      

  3.   

    to: liangqingzhi(老之)
    也不是我想要的
    只是实现了"打开方式"菜单中的"选择程序"
    我想得到其中的 推荐的程序 列表,列表内容包括程序的显示名称和实际exe文件名称
      

  4.   

    注册表中HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache是保存exe文件路径和显示名称的对应关系,推荐列表的路径上面说了,自己想想吧
      

  5.   

    to : sailxia(小帆)
    Shell扩展?我的水平低,能详细点吗?to : liangqingzhi(老之)
    谢谢,
    不过还是有问题,如何将注册表关联起来?
    前面只有不带路径的文件名,后面的是带路径的,如何将他们一一对应?