客户要做一个如下功能:
    1 在一般的文件上点击右键,在弹出的右键菜单里添加一项“加压到xxx.abc”像WinRar一样,
    2 在扩展名为.abc的文件上占击右键,在弹出的右键菜单里添加一项“解压到xxx.txt”
    3 点击“加压到xxx.abc”或“解压到xxx.txt”后关联运行我做的一个软件(WinAbc.exe),并传递相应的参数
    (就好像WinRar一样)    以前没有看过这样的贴子,也搜索不到,只好用最后一绝招------以csdn上提问了
盼能给予解决,waiting...

解决方案 »

  1.   

    看看Winrar是咋写注册表键的呗,然后照写呗,把EXE换一下啊!
      

  2.   

    http://wy.cnii.com.cn/20030409/ca157304.htm
    http://article.pchome.net/2003/03/18/8251.htm
      

  3.   

    先设置菜单mnu1点击右键后,获取文件的名称,弹出菜单,判断文件的扩展名,修改菜单,如果不是abc使mnu1.Caption="加压到xxx.abc",如果是abc使mnu1.Caption="解压到xxx.txt"
    点击mnu1,判断Mid(mnu1.Caption,1,4),执行WinAbc.exe
      

  4.   

    弹出菜单
    Private Sub Form_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
       If Button = vbRightButton Then
          PopupMenu mnu1
       End If
    End Sub
      

  5.   

    to : ganzhiruogy(方竹) , wintergoes(我要马尼) , lxcc(虫莲) 
    那要怎么写呢,是在程序里面写,还是打包时的问题,如果是在程序里写那要怎么写,如果在打包时的问题,那又该怎么打(我用的是setupfactory)to sunnyfire() 
      你没有明白我的意思,不是在程序里点击右键,还是在windows窗口里
      

  6.   

    http://www.csdn.net/Develop/Read_Article.asp?Id=3382
      

  7.   

    搜索"自定义右键"试试啊
    我上次删除WINrar的右键的时候就是这样的后来文件没有留
      

  8.   

    现在注册表里注册你的文件类型(如果是自定义的),然后在该文件类型上添加子项;打开方式参看下面 .txt 文件的打开方式及参数传递方式
    [HKEY_CLASSES_ROOT\Text.File]
    @="Text File"[HKEY_CLASSES_ROOT\Text.File\shell][HKEY_CLASSES_ROOT\Text.File\shell\open][HKEY_CLASSES_ROOT\Text.File\shell\open\command]
    @="\"C:\\Program Files\\HTML Help Workshop\\hhw.exe\" %1"
      

  9.   

    to  Saytoyou(Cary) [HKEY_CLASSES_ROOT\*.abc]
    @="*.abc"
    [HKEY_CLASSES_ROOT\*.abc\shell]
    [HKEY_CLASSES_ROOT\*.abc\shell\open]
    [HKEY_CLASSES_ROOT\*.abc\shell\open\command]
    @="\"C:\\Program Files\\HTML Help Workshop\\hhw.exe\" %1"
    比如我的自定义扩展名是:*.abc
    这样对吗?这些是在打包里生成还是在程序里写?
      

  10.   

    1.在注册表中HKEY_CLASSES_ROOT\*下面新建一个叫shell的项目,你可以在该项目下添加新的右键菜单.2.在shell下再新增一个项目名称(如"winabc"),修改该项目的"默认"属性值,填写你想要显示在右键菜单上的内容.3.在"winabc"新增一个叫"command"的目录,修改该项目的"默认"属性值,填写你想要执行的程序如"WinAbc.exe %1",其中%1代表当前被选中的文件4.想对.abc文件添加右键菜单,只需在HKEY_CLASSES_ROOT\.abc建立shell项目,其他操作如上即可
      

  11.   

    用Saytoyou(Cary) 的方法也可以, 在安装程序中应该可以设置的,如果不行的话(我没有用过setup factory,说不准),就将他的程序写在winabc.reg里面,然后在程序中用"shell winabc.reg"调用就可以了.
      

  12.   

    to  dream901(dream) 
    谢谢了,希望能给出实倒代码
    还有,请问一下,可执行程序怎么接受右键关联传来的信息呢,比如:
    在111.abc上点击右键,选择“用WinAbc.exe”打开(假设已经关联好),winabc.exe怎么接受消息的呢,也就是说,怎么知道是在111.abc,而不是别的文件?
      

  13.   

    帮你顶----------------------------------
    |           Ooooo              |
    |            (  )              |
    |               ) /               |
    |           (_/                |
    |一步一个脚印,努力学习,努力工作!
      

  14.   

    帮你顶----------------------------------
    |           Ooooo              |
    |            (  )              |
    |               ) /               |
    |           (_/                |
    |一步一个脚印,努力学习,努力工作!
      

  15.   

    传递参数 建立非open的主键,或产生command
      

  16.   

    使用Command()函数Private Sub Main()
        Dim CommandString As String
        'Command()就是你的输入参数
        CommandString = Command()
        
        '在下面的程序中就对CommandString作处理
    End Sub
      

  17.   

    帮你顶----------------------------------
    |           Ooooo              |
    |            (  )              |
    |               ) /               |
    |           (_/                |
    |一步一个脚印,努力学习,努力工作!
      

  18.   

    涉及注册表,
    新建键:HKEY_CLASSES_ROOT\.abc\ShellNew
    然后建data键值。二进制型。
    然后我就不知道了。
      

  19.   

    Mark,回家告诉你(如果还没有人告诉你的话)
      

  20.   

    用vb实现的办法:
    在html中可以用vbs:
    <script language="VBScript">Sub OnContextMenu()
      On Error Resume Next
      set nc=CreateObject("NetGallery.GetPage")
        
        call Nc.GetWebPage(external.menuArguments.document)end subCall OnContextMenu()
    </script>生成dll可以用vb建立一个dll工程,只需简单的加一个函数:
    Public Sub GetWebPage(ByRef i_vWebPage As HTMLDocument)
    即可。工程要引用microsoft html object library。
    传进来的是一个HTMLDocument,怎么操作都可以了