请问如何使用VC调用不同exe程序来打开指定文件(比如打开.mp3文件可以用RM、Media Player等),在MFC中点击一按钮,打开此音乐文件,如何实现可选择性地打开程序?
我用的是ShellExecute函数,但貌似它只能按文件默认打开方式打开文件。
谢谢!

解决方案 »

  1.   

    ShellExecute 的第四个个参数可以提供启动程序的参数比如要用计事本打开 c:\\windows\\system.ini#include "windows.h"int main() 

        ShellExecute(0, "open", "notepad.exe", "c:\\windows\\system.ini", NULL, SW_SHOWNORMAL);
        return 0;

      

  2.   

    谢谢!查注册表是个可行的办法,那用什么函数呢?是RegEnumKeyEx么?
      

  3.   

    比如.MP3,先用RegQueryValue找到键值为mp3file
    然后用RegEnumKeyEx枚举HKEY_CLASSES_ROOT\mp3file\shell下面所有的子键项
    根据找到的子键项:
    子键项的键值为显示文本         用RegQueryValue
    子键项\command的键值,为打开之命令行       用RegQueryValue