电脑老是卡,玩游戏有个软件叫ActiveX。这是为了什么?为什么会这样?
您可以通过执行以下操作来查看activex的设置。
打开IE-工具-》互联网选项-安全的自定义级别,在这里设置。
您可以使用禁用选项,但计算机的安全性可能会降低。
ActiveX控件在客户端上运行。我们可以得到客户端的一些信息,比如IC卡信息,客户端验证等等。但是ActiveX控件也有很多缺点:客户端部署困难,比如客户端无法正确下载,下载后无法正确执行,下载时需要设置IE的安全级别。
更多的时候,我使用COM组件来扩展ASP的功能。准确的说是服务器运行的Activex Dll组件。使用服务器。CreateObject("项目名称。类名”)可以完成对组件的调用。这种方式问题很少,只要方法在组件中公开。但是,有时我们不得不使用ACTIVEX控件(*。OCX)嵌入网页以获取客户端的信息。这有很多问题。
这是我们需要解决的n个问题(从简单到困难)。
1.如何从服务器获取数据并传递给ActiveX控件?
1)初始化时使用参数绑定。
2)在运行时获取数据
2.ActiveX控件从客户端获取信息,以及如何将信息传输到服务器。
3.安全性
1)数字签名
2)使用IOBJSAFE接口
好了,开始例题学习吧。
这个函数演示了如何制作一个简单的控件并将其嵌入到网页中以供执行。
工作环境:WINXP+VB6+IE6
我的IE安全设置为安全级别-中。所有Activex选项都设置为启用。
打开vb6并创建一个新的ActiveX控件项目。
项目名称:fOcx,用户控件名称:UC1。
为了方便起见,我们使用ActiveX控件界面向导…,菜单-->;加载项-& gt;加载项管理器->;VB 6 ActiveX控件界面向导。只是确认一下。
打开ActiveX控件界面向导。接下来,对于可用名称和选定名称,我们默认到下一步,创建一个新的定制成员GetInfo Type: Attribute。接下来,* * *有方法选择我们刚刚添加的GetInfo,将其映射到控件,选择TxtInfo,为成员选择文本。接下来,我们将结束。代码窗口会生成一些我们不需要的,删除,剩下的代码如下:
选项显式
立正!请勿删除或修改以下注释行!
MappingInfo=txtinfo,txtinfo,-1,Text
公共属性GetInfo()作为字符串
GetInfo = txtinfo。文本
结束属性
公共属性Let GetInfo(ByVal New _ GetInfo As String)
txtinfo。Text() = New_GetInfo
属性已更改“GetInfo”
结束属性
从内存中加载属性值。
私有Sub user control _ read properties(prop bag作为PropertyBag)
txtinfo。Text = PropBag。ReadProperty("GetInfo "," Text1 ")
末端接头
将属性值写入内存。
私有Sub user control _ write properties(prop bag作为PropertyBag)
呼叫PropBag。WriteProperty("GetInfo ",txtinfo。文本," Text1 ")
末端接头
好吧,那我们先编译成fOcx.ocx文件,然后F5直接运行,VB打开测试页面。如下所示:
e:\ Program Files \ Microsoft Visual Studio \ VB98 \ UC 1 . html
同时,打开你的IE浏览器,看,你做的控件出现在这个测试页面。
可以打开测试页面看看ClsID,比如:890d 1028-298 b-45CF-9a 64-6 ed 5 abbc 9。
因为编译时已经注册了VB,所以在客户端没有安装控件的情况下无法模拟提示。
我们继续
使用regsvr 32 f:\ csdn _ VB \ com+_ ActiveX \ sample 1 \ focx . ocx–u卸载。
或者
打开注册表并在HKEY _类_根\CLSID下找到它。
项目890d 1028-298 b-45CF-9a 64-6 ed 5 abbc 9,删除。当然,这种方式还是有项目没有被删除。
此时浏览http://yang/uc1.htm,由于IE中的ActiveX设置为启动,所以会显示控件。
下载的ocx去哪了?
打开目录(可能不一样)e: \ Windows.0 \下载的程序文件。看,福克斯。UC1文件在此目录中。
原理:客户端下载控件后,会自动注册并放入上述目录。这时候我们可以打开注册表看看CLSID,呵呵,还是那个老的。
我们可以右击fOcx的属性。UC1并看相关内容。OCX依赖的所有文件都显示在这里。所以你的OCX尽量少用高级控件或者第三方控件,否则下载会有一些问题。
如果IE中关于ActiveX的选项被设置为禁用,则会出现一个对话框“当前安全设置禁止在此页面上运行ActiveX控件”。因此,页面可能无法正确显示”会出现在浏览器中,这需要通过其他方式来处理。
默认情况下,大多数用户禁用ActiveX选项,因此用户自己设置这些选项是不合适的。