分享

ActiveX控件

 宁民 2012-03-12

ActiveX控件

目录

ActiveX控件
ActiveX控件分类
ActiveX控件的广泛应用

ActiveX控件

  ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM(DCOM)。在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX网络(现在的网络主要包括Windows和Mac)中任意运行的程序。这个组件就是ActiveX控件。ActiveX是Microsoft为抗衡Sun Microsystems的JAVA技术而提出的,此控件的功能和java applet功能类似。
  如果您使用的是Windows操作系统,您或许会注意到一些以OCX结尾的文件。OCX代表“对象链接与嵌入控件”(OLE),这个技术是Microsoft提出的程序技术,用于处理桌面文件的混合使用。现在COM的概念已经取代OLE的一部分,Microsoft也使用ActiveX控件代表组件对象。
  组件的一大优点就是可以被大多数应用程序再使用(这些应用程序称为组件容器)。一个COM组件(ActiveX控件)可由不同语言的开发工具开发,包括C++和Visual Basic或PowerBuilder,甚至一些技术性语言如VBScript。
  目前,ActiveX控件在Windows 95/NT和Macintosh中运行,Microsoft还准备支持UNIX的ActiveX控件。

ActiveX控件分类

  ActiveX组件包括如下几类:
  1.自动化服务器:可以由其他应用程序编程驱动的组件。自动化服务器至少包括一 个,也许是多个供其他应用程序生成和连接的基于IDispatch的接口。自动化服务器 可以含有也可以没有用户界面(UI),这取决于服务器的特性和功能。
  2.自动化控制器:那些使用和操纵自动化服务器的应用程序。
  3.控件:ActiveX控件等价于以前的OLE控件或OCX。一个典型的控件包括设计时和运 行时的用户界面,唯一的IDispatch接口定义控件的方法和属性,唯一的 IConnectionPoint接口用于控件可引发的事件。
  4.文档:ActiveX文档,即以前所说的DocObject,表示一种不仅仅是简单控件或自动 化服务器的对象。ActiveX文档在结构上是对OLE链接和模型的扩展,并对其所在的 容器具有更多控制权。一个最显著的变化是菜单的显示方式。一个典型的OLE文档的 菜单会与容器菜单合并成一个新的集合,而ActiveX文档将替换整个菜单系统,只表 现出文档的特性而不是文档与容器共同的特性。
  5.容器:ActiveX容器是一个可以作为自动化服务器、控件和文档宿主的应用程序

ActiveX控件的广泛应用

  ActiveX 控件是一种可重用的软件组件,通过使用 ActiveX控件,可以很快地在网址、台式应用程序、以及开发工具中加入特殊的功能。如,StockTicker控件可以用来在网页上即时地加入活动信息,动画控件可用来向网页中加入动画特性。现在,已有1000多个商用的ActiveX控件,开发控件可以使用各种编程语言,如C,C++,下一代的Microsoft Visual Basic®,以及微软公司的 Visual Java开发环境Microsoft Visual J++?。 ActiveX控件一旦被开发出来,设计 和开发人员就可以把它当作预装配组件,用于开发客户程序。以此种方式使用 ActiveX控件,使用者无需知道这些组件是如何开发的,在很多情况下,甚至不需要自己编程,就可以完成网页或应用程序的设计。
 
 ActiveX控件的安装
我登陆一个网站需要安装ActiveX控件,可是安过之后第二次再登录的时候还需要安装,就这样每次登陆都得重新安装ActiveX控件,很是麻烦,请问:有什么好的办法来解决?
应该是不小心使用了IE8的 Inprivate 浏览器,所以每一次使用的IE的记录都会被自动删除,包括你安装的控件,所以你只要把inprivate筛选关了就行了!方法如下:

默认情况下,InPrivate 筛选将分析您所访问的网站和这些网站所使用的内容提供商,但不会自动阻止它们。您可以选择允许或阻止由 InPrivate 筛选标识为接收浏览信息的任何内容提供商。您也可以让 InPrivate 筛选自动阻止任何内容提供商,或者您可以关闭 InPrivate 筛选。   首次打开 InPrivate 筛选,请执行以下步骤:   在 Internet Explorer 中,单击“安全”按钮,然后单击“InPrivate 筛选”。 请执行下列操作之一: 单击“为我阻止”自动阻止网站。 单击“选择接受我信息的提供程序”,以选择要阻止或允许的内容。 单击“确定”。   如果已经打开 InPrivate 筛选,请执行以下步骤:   在 Internet Explorer 中,单击“安全”按钮,然后单击“InPrivate 筛选”。 请执行下列操作之一: 若要自动阻止网站,请单击“自动阻止”。 要手动阻止网站,单击“选择要阻止或允许的内容”。 要关闭 InPrivate 筛选,单击“关闭”。 单击“确定”。 如何手动选择要阻止或允许的内容?   要手动阻止或允许内容提供商或第三方网站,可以借助这些网站了解您访问过哪些网站,请执行以下步骤:   在 Internet Explorer 中,单击“安全”按钮,然后单击“InPrivate 筛选设置”。 单击“选择要阻止或允许的内容”,单击一个或多个网站,然后单击“允许”或“阻止”。 完成后,单击“确定”。
 
ActiveX控件的下载后安装问题?
打开网页的时候提示叫安装我没装,我设成了不安装,现在在网页上显示内容有的不出来,我在工具中Internet选项中安全自定义级别选"中"了,并启用了全部ActiveX控件还是不能自动下载?不知是否是ie的问题?
那不是ie的问题 是ie的安全功能之一 。
你进行如下操作可以看到 activex的设置处
打开ie----》工具------》internet选项----》安全----》自定义级别,在这里是设置的。
你把禁用的选择起用就可以 但是电脑的安全性可能会下降
ActiveX控件运行在客户端。我们可以获得客户端的一些信息,如IC卡的信息,客户端的验证等等。但是ActiveX控件也有许多缺点:客户端的部署很困难,如客户端不能正确下载,下载了以后不能正确执行,下载的时候需要设置IE的安全级别等等。
更多的时候,我都在使用COM组件来扩展ASP的功能。准确地说,是服务端运行的Activex Dll组件。使用Server.CreateObject(“工程名.类名”)即可完成对组件的调用。这种方式问题很少,只要组件中以PUBLIC对外暴露方法既可。但是,有时候我们必须使用ACTIVEX 控件(*.OCX)嵌入到网页中执行来获取客户端的信息。这就有了许许多多的一些问题。
这是我们需要解决的N个问题(从简单到难)
1. 如何从服务端获取数据,传递到ActiveX控件中。
1) 初始化时使用参数绑定
2) 运行时得到数据
2. ActiveX控件得到客户端的信息,如何传递到服务端。
3. 安全性
1) 数字签名
2) 使用IOBJSAFE接口.
好了,我们开始实例学习。
这个功能演示了如何制作一个简单的控件,并嵌入网页中执行。
工作环境:WINXP+VB6+IE6
我的IE安全设置为安全级别-中。所有的Activex选项设为启用。
打开vb6,新建ActiveX控件工程。
工程名:fOcx,用户控件名:UC1
为了方便,我们使用ActiveX控件接口向导…,菜单->外接程序->外接程序管理器->VB 6 ActiveX控件接口向导。确定即可。
打开ActiveX控件接口向导,下一步,对于可用名称和选定名称我们默认下一步,新建自定义成员,GetInfo类型:属性,下一步,共有方法中选择我们刚才添加的GetInfo,映射到控件选择TxtInfo,成员选择Text,下一步直到完成。代码窗口中会生成一些我们不需要的,删除,剩下的代码如下:
Option Explicit
'注意!不要删除或修改下列被注释的行!
'MappingInfo=txtinfo,txtinfo,-1,Text
Public Property Get GetInfo() As String
GetInfo = txtinfo.Text
End Property
Public Property Let GetInfo(ByVal New_GetInfo As String)
txtinfo.Text() = New_GetInfo
PropertyChanged "GetInfo"
End Property
'从存贮器中加载属性值
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
txtinfo.Text = PropBag.ReadProperty("GetInfo", "Text1")
End Sub
'将属性值写到存储器
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("GetInfo", txtinfo.Text, "Text1")
End Sub
OK,好了,我们编译成fOcx.ocx文件,然后F5直接运行,VB会打开一个测试页。如下:
E:\Program Files\Microsoft Visual Studio\VB98\UC1.html
同时,打开你的IE浏览器,看到了吧,你做的控件出现在了这个测试页中。
你可以打开测试页,可以看到ClsID,比如:890D1028-298B-45CF-9A64-6ED5A5BACBC9
因为VB编译的时候已经完成注册.所以无法模拟客户端没有安装该控件时出现的提示.
我们继续使用regsvr32 F:\csdn_vb\com+_activeX\sample1\fOcx.ocx –u卸载
或者
打开注册表,在HKEY_CLASSES_ROOT\CLSID下面找到
890D1028-298B-45CF-9A64-6ED5A5BACBC9项,删除之,当然这种方式还有项存在而没有删除干净.
此时浏览http://yang/uc1.htm,由于IE中ActiveX设置为启动,所以,控件会显示出来。
下载后的ocx到哪里去了???
打开该目录(可能有所不同)E:\WINDOWS.0\Downloaded Program Files,看到了吧,fOcx.UC1文件在这个目录下.
原理:客户端下载该控件后,自动注册,然后放在上述这个目录下.这时我们可以打开注册表看看CLSID,呵呵,还是以前的那个.
我们可以右键看看fOcx.UC1的属性,看看相关内容,这里显示了该OCX所依赖的所有文件.所以,你的OCX尽量减少使用高级控件或者第三方的控件,否则,下载就有些问题了.
如果IE中关于ActiveX的选项设为禁用,那么浏览器就会出现对话框”当前安全设置禁止运行该页中的ActiveX控件.因此可能无法正确显示该页”,这个就需要其他的方式来处理了。
一般用户默认的都是禁用ActiveX选项,所以让用户自己设置不太合适。

网银下载安装ACTIVEX控件安全吗?
网银必须要下载安装ACTIVEX控件吗?他的优势和劣势?
网银下载的作用就是通过网络认证形式对你的系统进行安全检查、屏蔽外界干扰等,对于保护你的网银作用还是很大的,但是不能说网银安全性就很高,
    首先,安装网银可以保护系统,保护你的密码安全,属于防护软件;
    其次,像杀毒软件的缺陷一样,网银不能保护所有攻击都能避免,所以网银并不能完全避免黑客或者盗号的攻击,一般网银配合硬件密码(比如U盾、密码卡等)使用,可以互相补充,保护密码安全;
    总体来说,安装网银控件还是非常必要的!
 
我在网上银行买东西,准备付款的时候提醒说ActiveX控件不能下载,说安全设置不允许使用计算机上亦安装的Activex控件,我都已经更改过设置了,还是不行,怎么办啊?
右键点击IE图标,属性,安全,受信任的站点,自定义级别,重置为:安全级—低,点击重置,确定;再点击站点,将网上银行的那个站点地址添加进去确定就OK了,然后再买就可以无视ActiveX控件不能下了,切记这招只能用于绝对安全的站点,不要随便用!!!!!
 
如何删除IE中的ActiveX控件?
问:系统用了快一年没有重装了,我的IE中陆续地安装了很多ActiveX插件。请问,如何将一些不用的插件卸载掉?
答:不知道你的系统是什么版本的,如果是Windows XP SP2,可以直接通过插件管理器来进行卸载:点击IE主窗口中的菜单“工具→Internet选项”,然后再选择“程序”选项卡,单击“管理加载项”按钮,在打开的窗口中可以通过将不用的插件禁用掉,但是此种方法不能实现彻底删除。
如果想彻底删除相应的插件,你可以通过一款名叫ActiveX Manager的小软件来进行卸载。
  ActiveX Manager 是一个管理 ActiveX 控件的简易程序。它可以注册及反注册 ocx、dll控件,并且可以查看它的相关信息。你也可以在资源管理器中的相应文件上单击鼠标右键,选择注册或反注册控件。它可比 REGSVR32.EXE 文件使用命令行注册控件方便多了。
ActiveX
http://xiazai.zol.com.cn/artical/activex%BF%D8%BC%FE%CF%C2%D4%D8_1.html
http://wenku.baidu.com/view/3f5d6ffc0242a8956bece473.html
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多