zoukankan      html  css  js  c++  java
  • 添加文件或IE右键

    关于多种环境注册右键弹出事件的方法,请   
      按照以下对应关系:   
      \HKEY_CLASSES_ROOT\Folder\Shell                     任意文件夹   
      \HKEY_CLASSES_ROOT\Directory\Shell               任意目录   
      \HKEY_CLASSES_ROOT\Drive\Shell                       任意驱动器   
      \HKEY_CLASSES_ROOT\*\Shell                               任意文件   
      新建一个主键,并在主键下添加一个特定主键(command),修改command的键值指到你的应用程序。   
         
      例如:   
      建立\HKEY_CLASSES_ROOT\Folder\Shell\AimTest,将在Folder上按下右键时出现"AimTest"菜单   
      建立\HKEY_CLASSES_ROOT\Folder\Shell\AimTest,并设定该主键的缺省值为"我的测试菜单",则将在Folder上按下右键时出现"我的测试菜单"菜单钮。   
      建立\HKEY_CLASSES_ROOT\Folder\Shell\AimTest\command,并设定command"缺省"键值为"c:\tools\pse.exe"   "%1",则将以Folder名为第一参数启动pse.exe。   
              *   注意command键值的双引号不可缺省   
         
      另外:   
      \HKEY_CLASSES_ROOT\Folder\Shellex   
      \HKEY_CLASSES_ROOT\Directory\Shellex   
      \HKEY_CLASSES_ROOT\Drive\Shellex   
      \HKEY_CLASSES_ROOT\*\Shellex   
      可以按应用程序在Registroy中的注册ID调用。这样可以调用.DLL和钩子函数。   
      但建议按第一种方法调用应用程序,因为注册一个ID实在麻烦。   
         
      如果你的应用程序支持DDE,你可以参考   
      \HKEY_CLASSES_ROOT\Directory\Shell\Find键的设定来进行DDE设置。   
      ==========================================================================   
      如何在IE右键菜单中添加菜单项   
          要实现在IE右键菜单中添加菜单项的功能,要依次实现以下步骤:   
         
          1、在注册表HKEY_CURRENT_USER\Software\Microsoft\Internet     
         
      Explorer\MenuExt项下建立一个   
         
      新项,项的名称既出现在菜单中的标题,例如你想建立的菜单项标题为Add   URL,则   
         
      新建项的名称为   
         
      HKEY_CURRENT_USER\Software\Microsoft\Internet   Explorer\MenuExt\Add   URL   
         
          2、将新建项的默认值设定为一个URL地址,当用户点击菜单项后,IE就会调用   
         
      URL指向的页面中的脚   
         
      本,在目标页面的脚本中通过访问external对象的menuArguments属性就可以访问IE   
         
      中的页面。该属性定   
         
      义了一个Window对象。该对象描述了浏览器中的一个打开的窗口。详细的帮助请参考   
         
      MSDN中关于   
         
      InternetExplore   object的帮助,熟悉了Window对象才可以比较好的了解下面的脚   
         
      本。   
         
          对于如何实现自身的程序访问menuArguments的问题,我们可以仿效Netants的   
         
      做法,首先建立一个   
         
      OLE   Automation对象,然后在脚本中调用该对象,并将页面信息传递对象处理。下面   
         
      通过Delphi建立对象   
         
      来说明:   
         
          打开Delphi,点击菜单:   文件|新建   ,选择窗口中的ActiveX标签,在列表中   
         
      选择ActiveX   Library   
         
      图标后按确定键,这样就新建了一个Active   Library工程。然后将工程文件保存为   
         
      IEContextMenu.dpr   。   
         
          再点击菜单:   文件|新建   ,选择窗口中的ActiveX标签,在列表中选择   
         
      Automation   Object   图标后按   
         
      确定键,然后在   Automation   Object   Wizard   窗口中的CoClass   Name栏中输入   
         
      IEMenu1后按确定键。   
         
      这时会弹出IEContextMenu.tlb   的Type   Library窗口,左边是对象和属性等的列表   
         
      窗口,右边是相应的选   
         
      项窗口。在其中已经加入了IIEMenu1接口。   
         
          现在给接口添加一个AddURL方法。首先选择Type   Library列表中的IIEMenu1   
         
      项,然后点击Type   Library   
         
      窗口上面的   New   Method   按钮添加一个方法,将该方法的Name属性改为AddURL。下   
         
      来再点击Parameters标签   
         
      转到参数设定页,添加两个参数:URL和Info,属性都设置为BSTR,设置好的Type     
         
      Library窗口如图所示:   
         
      (附加图片1-1.bmp)   
         
          关闭设置窗口回到Delphi,点击save   all按钮保存文件,现在IEMenu对象建立   
         
      完毕了,在对象中我们将   
         
      只实现最简单的功能,既显示用户在页面中单击右键位置的对象URL,所以在Unit1的   
         
      TIEMenu1.AddURL子程   
         
      序中只添加一句:   showmessage(URL);   
         
          同时在Unit1的Uses中加入Dialogs。选择菜单上的Build   |   Build     
         
      IEContextMenu   项编译生成   
         
      IEContextMenu.dll。   
         
          下面是注册对象,在资源管理器中将Windows\system目录下的Regsvr32.exe拷   
         
      贝到IEContextMenu.dll   
         
      所在目录中,然后将IEContextMenu.dll图标拖到Regsvr32.exe上放开,这时   
         
      Regsvr32.exe就会弹出对话框   
         
      提示对象注册成功。   
         
          打开UltraEdit(或者其它文本编辑器)将下面的脚本代码输入编辑器中:   
         
           
         
           
         
             
         
          将文件保存到c:\program   files   下,文件名为   geturl.htm   
         
          从上面的脚本可以看到,首先访问external.menuArguments属性,获得用户单   
         
      击鼠标右键位置的对象,然   
         
      后根据对象的不同获得它的URL,然后建立IEContextMenu.IEMenu1对象并调用该对   
         
      象的AddURL方法。   
         
          接下来是为右键菜单建立注册项,打开UltraEdit(或者其它文本编辑器)将下面   
         
      的注册数据输入编辑器中   
         
      Windows   Registry   Editor   Version   5.00   
         
           
         
      [HKEY_CURRENT_USER\Software\Microsoft\Internet   Explorer\MenuExt\&Get     
         
      URL]   
         
      @="c:\\program   files\\geturl.htm"   
         
      "Contexts"=dword:00000022   
         
           
         
          将文件以reg为后缀保存,然后在Windows资源管理器中双击该文件将注册项添加   
         
      到注册表中,然后打开   
         
      IE,右键点击一个连接或者图片,在弹出菜单中会出现一个Get   URL项,点击该项,   
         
      就会出现一个消息框显示   
         
      点击的连接或者图片的URL地址   
         
          下面再介绍一下上面注册项中Contexts项的作用,通过该项可以制定菜单项在右   
         
      键点击IE中的什么对象时   
         
      出现,它可以为以下值的“或”组合:   
         
      对象   值     
         
      缺省   0x1     
         
      图片   0x2     
         
      控件   0x4     
         
      表单域   0x8     
         
      选择文本   0x10     
         
      锚点   0x20     
         
          例如上面我们希望菜单项在用户点击图片或者超链接时出现,那么我们就将值设   
         
      置为dword:00000022,既在   
         
      点击图片   或者   锚点时出现菜单。一个锚点是页面中描述一个超链接的对象。如果不   
         
      设置Contexts项,则菜单项   
         
      会在点击任何对象时出现在右键菜单中。
  • 相关阅读:
    verilog BRAM 读写
    verilog 语法一 led 翻转
    面试 遇到 问题
    S32K144+UJA1169 (四 ) S32K144 SPI1 功能初始化
    S32K144+UJA1169 ( 三 ) S32K144 SPI1 功能初始化
    S32K144+UJA1169 ( 二 ) S32K144 SPI1 对应的引脚 初始化 为 SPI 功能
    S32K144+UJA1169 ( 一 ) 连接框架+1169 功能 说明
    编译 xboot
    make clean make[1]:sdl2-config:命令未找到
    lwip 内存配置和使用,以及 如何 计算 lwip 使用了多少内存?
  • 原文地址:https://www.cnblogs.com/qq78292959/p/2077104.html
Copyright © 2011-2022 走看看