通过注册表实现,具体在哪一个位置记不太清楚,不妨在regedit中搜索一下editplus(或者winrar-如果安装了的话),其中会有一个表项表示所有已经添加到你的右键菜单的项目。

解决方案 »

  1.   

    建立文件关联。我猜测是把程序关联到右键菜单。文件名作为参数发送给程序。其实,用vs.net制作的安装程序可以轻易的把自己的程序快捷方式添加到“发送到”菜单嘛。
      

  2.   

    涉及到Windows Shell编程,一般都需要实现一个COM组件,
    editplus的这种功能是ContextMenuHandler的Shell组件技术
    一般可以在HKEY_CLASSROOT这几个位置查找右键菜单的: 
    \.xxx\shellex\contextmenuhandler (xxx后缀的文件)
    \*\shellex\contextmenuhandler (所有文件)
    \folder\shellex\contextmenuhandler(文件夹)
    \drive\shellex\contextmenuhandler(驱动器)
    \allfilesystemobject\shellex\contextmenuhandler
    还有些软件(NortonAntivirus)在上面的多个中都有 *,folder,drive剩下的就是在实现COM组件了,
    这个还是去参考Windows Shell编程的书吧把Shell编程的contextmenuhandler搞清楚了,实现editplus的这种功能应该不难了
      

  3.   

    各位说的都是右键菜单关联,我说的是"把当前所选的文件在已经打开的editplus中打开",因为做文件关联时每次都是启动一个新的应用,我在程序中进行判断是否已经打开一个实例,可是这样我只能得到前一个实例的Process对象,要怎样才能把参数传递给前一个实例呢?
      

  4.   

    System.Diagnostics.Process.Start("iexplore.exe","www.sina.com.cn");如果想加参数,如下
    Process proc = new Process(); 
    proc.StartInfo.FileName = yourfilename;
    proc.StartInfo.Arguments =  yourparameters; 
    proc.Start();
      

  5.   

    to:coollzh(良子)
    我就是这个意思呀,但是已启动的程序要怎样才能接收到新启动的程序发给它的文件路径呢?