比如我保存了一个工程后缀名是.stm
我如何双击这个文件用我写的程序打开。

解决方案 »

  1.   

    CCommandLineInfo cmdInfo;
        AfxGetApp()->ParseCommandLine(cmdInfo);
        if (cmdInfo.m_strFileName=="")
        {
            CRegKey reg; 
            CString FileExt=".test";
            CString FileType="Test File";
            CString MIMEType="text/plain";
            char ExeName[MAX_PATH];
            GetModuleFileName(NULL,ExeName,sizeof(ExeName));
            strcat(ExeName," %1");        reg.Create(HKEY_CLASSES_ROOT,FileExt);
            reg.SetValue(FileType,""); 
            reg.SetValue(MIMEType,"Content Type");
            reg.Create(reg.m_hKey,"shell\\open\\command");
            reg.SetValue(ExeName,"");
      

  2.   

    这段程序在哪里增加
    CMainFrame?
      

  3.   

    我要关联.stm后缀的文件是不是要这样改CCommandLineInfo cmdInfo;
      AfxGetApp()->ParseCommandLine(cmdInfo);
      if (cmdInfo.m_strFileName=="")
      {
      CRegKey reg;  
      CString FileExt=".stm";
      CString FileType="stm File";
      CString MIMEType="text/plain";//这个是什么意思
      char ExeName[MAX_PATH];
      GetModuleFileName(NULL,ExeName,sizeof(ExeName));
      strcat(ExeName," %1");  reg.Create(HKEY_CLASSES_ROOT,FileExt);
      reg.SetValue(FileType,"");  
      reg.SetValue(MIMEType,"Content Type");
      reg.Create(reg.m_hKey,"shell\\open\\command");
      reg.SetValue(ExeName,"");
    }
      

  4.   


    自己多查下msdn嘛别人已经写出代码了,这些类MSDN上面有啊
      

  5.   

    App类的InitInstance函数中
    // Enable drag/drop open
    m_pMainWnd->DragAcceptFiles(); // Enable DDE Execute open
    EnableShellOpen();
    RegisterShellFileTypes(TRUE);