ActiveX 技术总结

创建接口 IObjectSafety

注意 

[Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IObjectSafety

这个 guid是死的,所有地方都一样

    [Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IObjectSafety
    {
        // methods
        void GetInterfacceSafyOptions(
         System.Int32 riid,
         out System.Int32 pdwSupportedOptions,
         out System.Int32 pdwEnabledOptions);
        void SetInterfaceSafetyOptions(
         System.Int32 riid,
         System.Int32 dwOptionsSetMask,
         System.Int32 dwEnabledOptions);
    }

    public abstract class ActiveXControl : UserControl,IObjectSafety
    {
        const int INTERFACESAFE_FOR_UNTRUSTED_CALLER = 1;
        const int INTERFACESAFE_FOR_UNTRUSTED_DATA = 2;

        public void GetInterfacceSafyOptions(System.Int32 riid, out System.Int32 pdwSupportedOptions, out System.Int32 pdwEnabledOptions)
        {
            pdwSupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER;
            pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_DATA;
        }
        public void SetInterfaceSafetyOptions(System.Int32 riid, System.Int32 dwOptionsSetMask, System.Int32 dwEnabledOptions)
        {

        }
    }
View Code

创建用户控件类

 [Guid("bcd0a305-5e3c-44d8-b6ff-c2ab256576ad")]
    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("这是一个com组件ActiveXControl");
        }
    }
View Code

这个 guid 可用Guid.NewGuid().ToString();获取,这个值最终html中 为控件唯一标志

接下来制作安装包

添加项目主输出

注意

这样做出来的安装包,在程序安装之后就自动在注册表注册了

 

最后用网页测试

<OBJECT ID="docScan1" WIDTH="100%" HEIGHT="100%" CLASSID="CLSID:bcd0a305-5e3c-44d8-b6ff-c2ab256576ad">
</OBJECT>

 

转载于:https://www.cnblogs.com/baihong/p/9239237.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章 Internet 网络编程基础知识 1 1.1 Internet的网络结构 1 1.1.1 网络拓扑结构 1 1.1.2 以太网技术 3 1.1.3 其他高速网络技术 4 1.1.4 Internet整体结构 6 1.2 网络分层模型和TCP/IP协议 7 1.2.1 OSI 模型 7 1.2.2 TCP/IP协议 12 1.3 网络进程通信原理 22 第二章 Socket套接字 24 2.1 Berkeley Sockets 24 2.1.1 理解berkeley sockets接口 24 2.1.2 使用Socket模型 26 2.2 Windows sockets 33 2.2.1 理解windows sockets 33 2.2.2 winsock 编程模型 35 2.2.3 berkeley sockets和windows sokets比较 38 2.3 Winsock编程实例 41 2.3.1 主机地址查询程序 41 2.3.2 一个简单的FTP程序 43 2.3.3 小结 48 第三章 Visual C++6.0编程基础 49 3.1 Visual C++6.0编程工具简介 49 3.2 面向对象语言C++ 51 3.3 ViualC++6.0的使用 52 3.4 MFC编程概述 57 第四章 Casync Socket类和CSocket类 60 4.1 Casync Socket类 60 4.2 Csocket类 61 第五章 Winsock库函数参考 66 5.1 Windows Socket 1.1 库函数参考 66 5.2 数据库函数 72 5.3 Windows扩展函数 74 5.4 Windows Socket 2.0 扩展库函数参考 79 第六章 Sockets, MAPI和Internet 89 6.1 消息API(MAPI) 92 6.1.1 什么是MAPI? 92 6.1.2 扩展MAPI 96 6.2 OLE 消息 97 6.3 使用Internet Server(ISAPI)类 98 第七章 使用WinInet类库的网络开发 102 7.1 设计Interent查询 102 7.2 查询HTTP节点 111 7.3 查询FTP节点 115 7.4 查询Gopher节点 117 7.5 使用Gopher去发送Finger查询 119 7.6 使用Gopher去发送Whois查询 121 7.7 将来的工作 123 第八章 例子程序代码分析 125 8.1 MAPI创建邮件应用程序 125 8.1.1 消息应用接口(MAPI) 125 8.1.2 两种比较高级的选择:简单MAPI和CMC 125 8.2 连接FTP 133 8.2.1 Ftp连接类的信息 134 8.2.2 创建应用程序 138 8.2.3 检索FTP文件服务器 140 8.2.4 向服务器发送文件 142 8.2.5 获得FTP服务器根目录 147 第九章 HTML、CGI与ISAPI 153 9.1 HTML简介 153 9.2 VBScript 157 9.3 CGI 163 9.3.1 为什么使用CGI? 163 9.3.2 CGI是什么? 163 9.3.3 选择你熟悉的编程语言 163 9.3.4 安全 164 9.4 ISAPI 165 第十章 ActiveX容器应用程序 173 10.1 向对话框中添加ActiveX控件 173 10.2 示例程序MyPlayer 175 10.3 源程序清单 179 第十一章 编写ActiveX控件 195 11.1 ActiveX Control Wizard 195 11.2 添加属性 200 11.3 添加方法 205 11.4 添加事件 207 11.5 ActiveX Control Test Container 210 11.6 在Internet上使用ActiveX控件 212 11.7 源代码清单 215 第十二章 ActiveX自动化客户 228 12.1 自动化基础 228 12.2 创建初始应用程序 231 12.3 类型库和COleDispatchDriver 233 12.4 创建和使用自动化对象 236 12.5 部分源程序清单 240 第十三章 ActiveX自动化服务器 263 13.1 自动化服务器基础 263 13.2 创建自动化服务器框架工程 264 13.3 添加属性和方法 268 13.4 完成示例程序AutoDirInfo 270 13.5 支持双接口 275 13.6 在Internet上使用自动化对象 282 13.7 源程序清单 284
VB6.0动态加载ActiveX控件漫谈 深圳 罗汉军 罗德昌 熟悉VB的朋友对使用ActiveX控件一定不会陌生,众多控件极大地方便了编程, 但唯一的缺陷是不能动态加载控件,必须在设计时通过引用,将控件放置在窗体上。 VB6.0已能够解决该问题,只是帮助中没有明确说明,并且没有描述到一些关键功 能,由于以前的版本中可以动态创建进程外服务:如果对象是外部可创建的,可在 Set 语句中用 New 关键字、CreateObject 或 GetObject 从部件外面将对象引用赋予变 量。 如果对象是从属对象,则需使用高层对象的方法,在 Set 语句中指定一个对象引 用: Dim xlApp1 As Excel.Application Set xlApp1 = New Excel.Application 或 Dim xlApp As Object '定义存放引用对象的变量。 Set xlApp = CreateObject("excel.application") xlApp.Visible = True ---- 这些语法很容易造成误导,以为动态加载ActiveX控件也是此方法,可能有朋 友也象我一样利用CreateObject尝试了无数次,却无功而返,不知微软公司是出于何种 考虑,动态加载ActiveX控件是扩展控件集合的方式实现,通过实际摸索,终于就如 何实现动态ActiveX控件找出了一条切实可行的方法,下面以一个具体的实例来详细说 明。 一、ActiveX控件 ---- ActiveX 控件是 Visual Basic 工具箱的扩充部分。使用 ActiveX 控件的方 法与使用其它标准内装的控件,如 CheckBox 控件,完全一样。在程序中加入 ActiveX 控件后,它将成为开发和运行环境的一部分,并为应用程序提供新的功能。 ---- ActiveX 部件通过客户端/服务器关系与应用程序— 及与部件相互之间— 交 互作用。客户端是使用部件功能的应用程序代码或部件。服务器是部件及其关联的对象。 例如,假设应用程序使用 ActiveX 控件来提供一个标准的雇员窗体,供公司的多种 应用程序使用。提供雇员窗体的 ActiveX 控件就是服务器,使用这个控件的应用程序 就是服务器的客户端。 二、加载方法 ---- VB6.0中对Controls 集合进行了扩展,以前版本中Controls 集合在窗体上列 举出已加载的控件,这在迭代过程中是很有用的。Controls 集合标识一个叫做 Controls的内在窗体级变量。如果忽略可选的 object 所在处的整数,则关键字 Controls 必须包括在内。我们通常在窗口中使用如下代码: Text1.Text="Hello, world" 其实也可以使用如下代码达到同一目的: Controls(1).Text="Hello, world" ---- 在VB6.0中除了原来的Clear、Remove 方法外(很奇怪,为什么微软在VB5.0中 只提供这两种方法,而没有提供Add方法,因为没有Add,这两种方法也就没什么用处), 增加了Add方法,该方法就是用于动态加载控件的: Controls.Add(progid as String, Name as String); progid: ActiveX部件的ProgID,如:"VB.CheckBox"; Name:ActiveX部件加载后的名称,如: "MyCheckBox"; 若要在窗体上添加一个名为MyButton的按钮,可以使用: dim oControl as Object '窗体级变量 注意:这里声明为Object对象类型 Private Sub LoadControl() Set oControl = Controls.Add ("VB.CommandButton", "MyButton") oControl.Left = 10 oControl.Top = 10 oControl.Visible = True '使控件可见 End Sub ---- 这是VB6.0的标准语法,它在例程中也是如此演示的,不过该方法虽然现实了 控件的动态加载,按钮显示在窗体上,可以象普通按钮一样按下去,但加载的控件不能 预先设计响应事件代码,如:事件Sub MyButton_Click()将是非法的,当然,可以将要 响应的事件封装在控件内部。就编程的观点来看该方法没什么大的用处,开发ActiveX 控件的目的是为了资源共享,为了被其他开发人员利用,所以要提供必要的事件接口, 显然利用该方法不行,通过分析VBControls等相关对象,找出VBControlExtender对象 与EventInfo相结合能提供事件陷井捕捉,VBControlExtender对象对动态添加控件特 别有用,它提供了一套通用的属性、方法、事件给开发人员,它的一个突出特点是能编 程设计控件的事件,熟习类编程的朋友对带事件的对象声明一定不会陌生: ---- Dim WithEvents objElemt as CElemtVBControlExtender也不例外,声明的 语法一样,只不过它有个特殊的事件ObjectEvent(Info As EventInfo),它能捕捉到对 象使用RaiseEvent产生的所有事件,EventInfo数据结构映射了事件的名称、参数个数 和参数的值。VBControlExtender和 EventInfo相结合,采用Select Case 就可以预先 将不同类对象的事件放置一起,各自独立运作。将上面的代码改写一下就能提供Click 事件了: ---- Dim WithEvents oControl As VBControlExtender '带事件声明声明之后您 就可以在代码窗口的左上角的对象下拉框中发现该对象出现了,也就是说,该对象有了 事件或方法了,它的事件有DragDrop,DragOver ,LostFocus ,GotFocus , ObjectEvent和Validate,其中ObjectEvent是通用的事件捕捉。 Private Sub LoadControl() Set oControl = Controls.Add ("VB. CommandButton", "MyButton") oControl.Visible = True End Sub Private Sub oControl_ObjectEvent(Info As EventInfo) Select Case Info.Name Case "Click" 'Click事件 '您可以添加处理Click事件代码 MsgBox "您按了MyButton!" Case Else ' 其他事件 ' Handle unknown events here. End Select End Sub ---- 当然对微软提供的标准控件能采用该方法添加,大家都不会怀疑,但自己开 发的控件也能吗?答案是肯定的,我们可以用一个实际的例子进行说明。 三、实例描述 ---- 假设一个本地网络的监控系统,需要在原理图与实物示意图间切换,原理图 包括组网结构、传输资源、监控主机等,而实物示意图包括路由器、设备、采集器等, 当然两种图的事件要一致,如双击某个设备图形将显示给设备的实时数据等,为了简化 维护,将原理图与实物示意图封装成ActiveX控件,由于每种图需要加载许多图形控 件,消耗资源较大,不能同时加载,需要将其分解为两个控件,在切换时首先卸载一个 控件,然后加载另一个控件,所以要实现动态加载ActiveX控件。 ---- 原理图控件为--Theory.ocx ,对应工程为CTheory; ---- 实物图控件为---Fact.ocx ,对应工程为CFact; ---- 注意:为了简化,在设计控件时不设置许可证关键字。 ---- 实物图控件上的图形对象可以被拖动,拖动后的位置信息通过事件 ChangePosition来通知拥有该控件的窗体,以便下次加载能显示在最后位置,实物 图和原理图控件都有双击事件完成的工作相同,其他事件此处忽略。 ---- 四、具体示例 ---- 1、准备工作 ---- 对控件Theory.ocx 、Fact.ocx 进行注册(利用Regsvr32.exe注册); ---- 建立窗体frmTest.frm ,在窗体上放置按钮cmdLoadOcx—“原理图” ---- 2、声明窗体级变量与加载函数LoadControl Dim WithEvents oControl As VBControlExtender '地图仿真控件对象 Dim mblnTheory As Boolean '是否显示原理图 Private Function LoadControl(intType As Integer) If Not oControl Is Nothing Then '首先判断对象是否存在,若存在则卸载 Controls.Remove("MapView") '卸载控件,此操作非常重要 End If If intType = 0 Then Set oControl = Controls.Add ("CTheory. Theory", "MapView") Else Set oControl = Controls.Add ("CFact.Fact", "MapView") End If oControl.Height = 3500 oControl.Width = 6500 oControl.Top = 100 oControl.Visible = True End Function Private Sub Form_Load() mblnTheory = True End Sub ---- 3、为按钮cmdLoadOcx编写代码 Private Sub cmdLoadOCX_Click() If mblnTheory Then Call LoadControl(0) mblnTheory = False cmdLoadOCX.Caption = "实物图" Else Call LoadControl(1) mblnTheory = True cmdLoadOCX.Caption = "原理图" End If End Sub ---- 4、为事件ChangePosition编写代码 Private Sub oControl_ObjectEvent (Info As EventInfo) Select Case Info.Name Case "ChangePosition" MsgBox CStr(Info.EventParamters.Item( 1).Value) + ":" + _ CStr(Info.EventParamters.Item(2).Value) Case "DbClick" '双击处理代码 Case Else ' End Select End Sub ---- 注意: EventInfo的参数EventParamters集合中是以1开始的,一般来说,微 软新的集合一般是以1开始的,而旧的是以0开始的,如RdoErrors.Item(0)。 ---- 5、关闭窗口前卸载控件 Private Sub Form_Unload(Cancel As Integer) Controls.Remove("MapView") Set oControl = Nothing End Sub ---- 6、特别注意 ---- 通过Controls.Add方法添加的ActiveX控件一定不能在该工程中有该控件的任 何引用,否则系统将出错。 四、小结 ---- 通过使用动态加载ActiveX控件使用庞大的应用程序变得很小,将不同的 ActiveX控件进行各种组合,使应用程序更加灵活多变,如您的应用系统要处理三十种门禁, 而某个具体的用户可能只有一种或两种门禁,根本没必要首先将所有门禁包含到应用 中,可将各个门禁独立封装,只安装注册需要的组件,就象Windows的自定义安装一样。 微软的未来技术基础是分布式的组件技术(DCOM),将会把代码的重用发挥得淋漓尽致。 您不妨试一试动态加载,也许会产生令您惊喜的效果! ---- 本代码在Win98、VB6.0(英文版)上编译、运行。
1. QTP描述性编程 8 2. 描述性编程2 15 3. 函数 17 3.1. QTP中几个截取字符串的函数 18 4. "+" "&"的区别 20 5. QTP场景恢复 21 6. QTP中测试环境的初始化 27 7. QTP将数据库中的数据导入到excel 29 8. 在QTP中将数据库的数据导入到EXCEL 29 9. QTP将数据测试驱动 31 10. QTP中设置共享对象库 32 11. QTP ActiveX 报错; 35 12. 数据驱动在测试中的应用 35 13. 在Excel中增加超链接的方式 39 14. 登陆脚本设计 40 15. QTP中Wait与同步点的区别 41 16. QTP tips 41 17. Action 调用 45 18. Action 参数调用 47 19. QTP中根据日期计算年龄的解决办法 48 20. 测试报告知多少 48 21. 调用共享文件 49 22. 识别grid中的button 52 23. How to parameterize your link 52 24. QTP中的步骤生成器 54 25. QTP感想 56 26. QTP 参数化实例 60 27. 对象库的管理与合并 62 28. QTP中虚拟对象设置 66 29. QTP删除新建文本文件没有权限的问题 68 30. 关于Filter如何使用的疑问 69 31. Call Windows API 69 32. Global 和local区别 72 33. QTP itself API 73 34. QTP需探讨的问题 74 在我的文章中也提到过了,描述性编程能让QTP脱离对象库来执行脚本.在某些特殊应用的时候,可能就更方便点.比如:要针对某个对象的参数化等等.而且描述性脚本因为脱离了对象库,所以增加了脚本的可移植性.同时脚本也更具有可读性.当然也给手工写脚本提供了一个平台. 74 35. 正则表达式的应用 75 36. 数据驱动测试: EXCEL 81 37. Action parameters 92 38. 数据驱动测试:文件 95 39. 相对路径action path 101 40. 两种方法参数化link 101 41. WScript 102 42. QTP Plus 的应用 109 43. 一个万能的键盘模拟函数 110 44. XML参数化 115 45. Oracle QTP 115 46. 对象库的管理与合并 116 47. change sysdate 120 48. Import Excel 120 49. Call Dll 121 50. Call Function 123 51. Global and local 区别 124 52. Shell 124 53. 对文件系统操作 125 54. 对象同步 125 55. 正则表达式应用模板 125 56. Wscript.shell 的应用 126 57. Create log file 126 58. 对象同步 127 59. 异常控制 127 60. Check if the object.exist 128 61. QTP场景恢复 129 62. QTP步骤生成器 135 63. IFRAME issues 138 64. Iframe issues 续 142 65. QTP解析PDF 144 66. QTP常见问题解答一 144 67. QTP常见问题解答二 146 68. QTP常见问题解答三 149 69. QTP常见问题解答四 150 70. QTP设计开发脚本 151 71. 设置共享对象库 152 72. 检查网页上文字显示的颜色 155 73. QTP录制如何识别编辑框 156 74. How to search the string from the html source 157 75. ADORecord.set操作 159 76. Object Property参数化操作 161 77. Quick Test Plus 工具 163 78. Schedule the QTP tasks 164 79. General the radom code 165 80. ChildObjects和webTable的使用 166 81. 怎样在QTP中打开右键菜单 167 82. CaptureBitmap方法 169 83. 校验对象是否存在object.exist 170 84. QTP中&和_的用法。 171 85. 选取webList中某一项 172 86. object.SetCaretPos方法 172 87. Similar to watir sample using description programming 173 88. QTP使用outlook发邮件 173
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《COM技术内幕——微软组件对象模型》一书的随书源代码 COM技术内幕——微软组件对象模型 基本信息 原书名: Inside COM: Microsoft's Component Object Model with Cdrom 原出版社: Microsoft Press 作者: (美)Dale Rogerson 译者: 杨秀章 丛书名: 微软版权图书 出版社:清华大学出版社 ISBN:730203320X 上架时间:2001-10-11 出版日期:1999 年3月 页码:293 版次:1-1 所属分类:计算机 > 软件与程序设计 > COM/DCOM/ATL/COM+ 内容简介    微软公司的组件对象模型(COM)作为一种重要的工具已崭露头角,它是微软迈向分布式计算的基础。不论现在还是将来,它都是定制应用程序的一种强大的方法。并且它是OLE和ActiveX 的基础。COM帮助你理解未来的程序开发技术,而这本书帮助你理解COM。在本书中你将发现:构建优美的COM组件的清晰、简单、实用的规则;COM是如何易学易用,特虽是对那些熟练掌握C++ 的人;循序渐进地介绍COM设计;以代码形式给出的大量实例。    《COM技术内幕》适合于中、高级C++程序员;COM、ActiveX和OLE程序员;对组件设计感兴趣的研究人员;以及那些当COM移植到UNIX、MVS和其他环境时想要使用到COM的程序员。 编辑推荐    微软公司的组件对象模型(COM)作为一种重要的工具已崭露头角,它是微软迈向分布式计算的基础。不论现在还是将来,它都是定制应用程序的一种强大的方法。并且它是OLE和ActiveX 的基础。COM帮助你理解未来的程序开发技术,而这本书帮助你理解COM。在本书中你将发现:构建优美的COM组件的清晰、简单、实用的规则;COM是如何易学易用,特虽是对那些熟练掌握C++ 的人;循序渐进地介绍COM设计;以代码形式给出的大量实例。 目录 封面 -17 扉页 -16 版权 -15 译者前言 -14 目录 -13 引言 -6 第1章 组件 1 1.1 使用组件的优点 2 1.1.1 应用程序的定制 2 1.1.2 组件库 3 1.1.3 分布式组件 3 1.2 对组件的需求 4 1.2.1 动态链接 4 1.2.2 信息封装 5 1.3 COM 6 1.3.1 COM组件是…… 7 1.3.2 COM不是…… 7 1.3.3 COM库 8 1.3.4 COM方法 8 1.3.5 COM超越了用户的需要 8 1.4 本章小结 9 第2章 接口 11 2.1 接口的作用 11 2.1.1 可复用应用程序架构 12 2.1.2 COM接口的其他优点 13 2.2 COM接口的实现 13 2.2.1 编码约定 14 2.2.2 一个完整的例子 15 2.2.3 非接口通信 18 2.2.4 实现细节 18 2.3 接口理论:第二部分 20 2.3.1 接口的不变性 20 2.3.2 多态 20 2.4 接口的背后 21 2.4.1 虚拟函数表 21 2.4.2 vtbl指针及实例数据 23 2.4.3 多重实例 24 2.4.4 不同的类,相同的vtbl 24 2.5 本章小结 26 第3章 QueryInterface函数 27 3.1 接口查询 28 3.1.1 关于IUnknown 28 3.1.2 IUnknown指针的获取 29 3.1.3 关于QueryInterface 29 3.1.4 QueryInterface的使用 30 3.1.5 QueryInterface的实现 31 3.1.6 关于类型转换 32 3.1.7 一个完整的例子 35 3.2 关于QueryInterface的实现规则 40 3.2.1 同一IUnknown 40 3.3.2 客户可以获取曾经得到过的接口 41 3.2.3 可以再次获取已经拥有的接口 41 3.2.4 客户可以从任何接口返回到起始接口 42 3.2.5 若能够从某接口获取某特定接口,则从任意接口都将能够获取此接口 42 3.3 QueryInterface定义了组件 43 3.3.1 接口集 44 3.4 新版本组件的处理 44 3.4.1 何时需要建立一个新版本 46 3.4.2 不同版本接口的命名 46 3.4.3 隐含
### 回答1: Flash32 ActiveX 是一个用于在 Windows 操作系统下运行 Adobe Flash Player 的插件。它作为一个浏览器扩展程序,允许用户在网页上播放 Flash 动画、视频和游戏等多媒体内容。 Flash32 ActiveX 提供了多种功能和特性,包括流畅播放动画、实时音频和视频播放、处理用户交互以及支持多种图形效果等。它能够与各种网页浏览器兼容,例如 Internet Explorer、Google Chrome 和 Mozilla Firefox 等。 然而,随着时代的进步,HTML5 技术的崛起,Adobe Flash Player 的使用率逐渐降低,以至于在目前大多数浏览器版本中已经被弃用。这是因为 Flash Player 存在安全漏洞、性能低下以及对移动设备的支持不佳等问题。 因此,Adobe 宣布在2021年12月底之前停止 Flash Player 的更新和分发,并强调用户应该卸载该插件,以确保网络安全。与此同时,网页开发者们已经开始使用 HTML5 替代 Flash 来创建多媒体内容。 在现代互联网环境中,Flash32 ActiveX 已经不再被广泛使用,其存在风险和限制已被广泛认知。用户应该及时卸载该插件,并确保使用最新版的浏览器,以获得更好的安全性和浏览体验。 ### 回答2: flash32 Activex是一种用于支持Adobe Flash Player在Windows操作系统上运行的插件。Adobe Flash Player是一种常用的多媒体平台,用于播放Flash格式的视频和动画。在许多网页浏览器和应用程序中都需要使用Flash Player来显示和运行Flash内容。 Flash32 Activex是指用于32位Windows操作系统的Flash Player插件。它采用了ActiveX技术,可以在支持ActiveX控件的应用程序中使用。这意味着开发者可以将Flash32 Activex嵌入到自己的应用程序中,从而实现Flash内容的播放和交互。 Flash32 Activex具有一些特征和功能。首先,它可以播放各种类型的Flash内容,包括视频、动画和交互式应用程序。其次,它支持各种控件和接口,开发者可以利用这些控件和接口来自定义Flash内容的显示和交互方式。此外,Flash32 Activex还具有安全特性,可以帮助防范潜在的恶意代码和漏洞攻击。 Flash32 Activex在过去的几十年里被广泛使用,然而,随着HTML5技术的发展和流行,Flash正逐渐被淘汰。许多主流浏览器已经不再支持Flash,因为它存在安全风险,并且HTML5提供了更先进和更安全的替代方案。 在总结上述内容时,Flash32 Activex是一种用于32位Windows操作系统的Flash Player插件,用于播放Flash内容。它具有多媒体功能,支持自定义接口和控件,并具有安全性。然而,随着HTML5的发展,Flash正逐渐被淘汰。 ### 回答3: Flash32 ActiveX 是一种用于在Internet浏览器中运行Adobe Flash Player的插件。Flash Player是一种多媒体和应用程序运行时环境,用于播放动画、视频和音频以及支持交互式内容。Flash32 ActiveX是为Internet Explorer浏览器设计的,它允许用户在浏览器中观看和与Flash内容进行交互。 Flash32 ActiveX在过去的几十年中在互联网上得到广泛使用。它为开发人员和设计人员提供了创造各种吸引人的多媒体内容的工具。许多网站和在线游戏仍然使用Flash技术,因此仍然需要Flash32 ActiveX来支持这些内容。 然而,Flash32 ActiveX在近年来逐渐被淘汰。这是因为HTML5等现代标准的发展和广泛应用,它们提供了更强大、更安全的多媒体功能,不需要使用Flash插件。此外,Flash Player还受到了安全漏洞和性能问题的困扰,这也导致了更多人开始放弃使用Flash32 ActiveX。 综上所述,Flash32 ActiveX是一种用于在Internet浏览器中运行Adobe Flash Player的插件。尽管它在过去的互联网发展中发挥了重要作用,但随着新标准的出现和问题的出现,它正在被逐渐淘汰。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值