但我们点击.zip 就会出现winzip
点.txt的文件,就会出现记事本
 请问如何实现这样的功能?
(是不是要对pe文件操作)

解决方案 »

  1.   

    ShellExecute(handle, "abc.txt", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
      

  2.   

    用向导生成一个文档视图类型的MFC程序,在相应的步骤里选中“Advance"按钮,在弹出的对话框里写好要设置的文件扩展名,继续剩余步骤,在生成的代码里会有相应的代码段。
      

  3.   

    打开资源管理器,点击菜单“查看”-》“文件夹选项”-》“文件类型”可以新增和编辑这种关联。
      如果用MFC编程的办法,可以在这样:
    CxxxApp::InitInstance()
    {
       …………
       EnableShellOpen();
       RegisterShellFileTypes();
    }
      

  4.   

    其实注册表修改为:(以CMK为例)
    HKEY_CLASSES_ROOT/.CMK  值为cmk.document
    HKEY_CLASSES_ROOT/CMK.document/shell/open/command 中写你的程序路径及程序名+(%1或/dde等等)
      

  5.   

    上述过程的实现:
    1:‘运行’-》regedit.exe-》“查询”-》txtfile 便可找到  shell键,
    在shell键下的open键下的command中记录着应用程序所在的位置,只要更改这个目录和应用程序(如改为winword.exe等)
    2:如果想实现类似的功能
    可在 HKEY_LOCAL_MACHINE主键下创建文件类型的键,这个键用于管理特定扩展名的文件的打开方式