请问如何用程序实现当选择一个文件后就显示出打开方式对话框及如何根据文件类型打开相应的编辑器,如HTML文件,可以用FRONTPAGE?

解决方案 »

  1.   

    另外,FindExecutable()可以得到用于打开文档的默认执行程序的文件名和路径。
      

  2.   

    找到了,我是2000系统,在注册表里的HK_CLASSEES_ROOT下面的根目录里有各个扩展名,如html、txt等,这些键都有一个openwithlist子键(如果在98下应该是shell\open\command目录),里面就是用来文件的应用程序名
      

  3.   

    谢谢上面的各位了,问题已经解决。 CString strFilePath;
    CString strOpenParam;

    strOpenParam = "rundll32 shell32,OpenAs_RunDLL ";
    strFilePath = m_strCNTPath;   
             //m_strCNTPath是我程序里的一个文件的绝   对路径

    strOpenParam += strFilePath;
    WinExec(strOpenParam,SW_SHOW);
             显示打开方式对敌框,可以自己程序来打开文件。
    或者
       strFilePath = "\"" +strFilePath + "\"";
        //加ShellExecute 要求的路径中是不允许出现路径的,加“”可以解决这个问题
        //如:c:\Test only.htm,函数调用是不会成功的,应改为"c:\Test only.htm"    //比如用FrongPage 打开上面的Test only.htm
        ShellExecute(NULL,"open","FRONTPG.EXE",strFilePath,NULL,SW_SHOW);
       当然也可以用WORD(WINWORD.EXE)
       再次谢谢各位。