MFC 如何给自己的软件添加如下功能:在我的电脑里,右键点击一个文件,出现用XXX运行,点击后用我的软件运行这个文件?右键菜单已经解决了,怎么给软件加上参数,并让程序接受参数?类似暴风影音的右键 “使用 暴风影音 播放”希望能具体一些!

解决方案 »

  1.   

    你去看APP的InitialInstance,一般有如下代码。CCommandLineInfo cmdInfo;
    ParseCommandLine(cmdInfo); 这段就是分析命令行参数的,也就是传给你程序启动的参数。
    cmdInfo.m_strFileName这个成员变量就是启动时要打开的文件名。//以下仅作示范,加入到InitialInstance的pMainFrame->UpdateWindow()之后。
    if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileOpen)
    {
         pMainFrame->OpenFileByCmd(cmdInfo.m_strFileName);
    }
      

  2.   

    theApp 有一个成员变量 LPTSTR m_lpCmdLine
    保存着程序启动时的运行参数
      

  3.   

    呃。。右键“用XX运行”,此刻你的程序启动,进入InitialInstance();而那个文件则是作为参数传递进来的。你明白了吗?
      

  4.   

    右键菜单你已经解决,所以剩下的问题就是你程序如何处理扎个参数。我贴的代码是在MainFrame中处理的。你可以参考。
      

  5.   

    这个加上修改注册表,HKEY_CLASSES_ROOT下面的文件后缀,就OK了。
      

  6.   

    编程实现自定义系统右键菜单功能 
    http://www.cnblogs.com/aoyihuashao/archive/2009/12/23/1630768.html
      

  7.   

    用ShellExecuteEx函数,调用你自己的程序,将该文件的地址当作参数传进去。。难道我理解的不对?怎么跟大家的说法差距这么大啊。。
      

  8.   

    2楼的参数已经有了,剩下的就是找到这个文件的路径,然后也传递过来,再使用 ShellExecuteEx或者其他的函数调用这个文件即可了。