写一个框架的详细步骤 定位 所谓定位就是回答几个问题,我出于什么目的要写一个框架,我的这个框架是干什么的,有什么特性适用于什么场景,我的这个框架的用户对象是谁,他们会怎么使用,框架由谁维护将来怎么发展等等。 如果你打算写框架,那么肯定心里已经有一个初步的定位,比如它是一个缓存框架、Web MVC框架、IOC框架、ORM/数据访问框架、RPC框架或是一个用于Web开发的全栈式框架。 是否要重复造轮子?除非是练手项目,一般我们是有了解决不了问题的时候才会考虑不使用既有的成熟的框架而重复造轮子的,这个时候需要列出新框架主要希望解决什么问题。有关是否应该重复造轮子的话题讨论了很多,我的建议是在把问题列清后进行简单的研究看看是否可以通过扩展现有的框架来解决这个问题。一般而言大部分成熟的框架都有一定的扩展和内部组件的替换能力,可以解决大部分技术问题,但在如下情况下我们可能不得不自己去写一个框架,比如即使通过扩展也无法满足技术需求、安全原因、需要更高的生产力、需要让框架和公司内部的流程更好地进行适配、开源的普适框架无法满足性能需求、二次开发的成本高于重新开发的成本等等。 主打轻量级?轻量级是很多人打算自己写一个新框架的原因,但我们要明白,大部分项目在一开始的时候其实都是轻量级的,随着框架的用户越来越多,它必定需要满足各种奇怪的需求,在经过了无数次迭代之后,框架的主线流程就会多很多扩展点、检测点,这样框架势必变得越来越重(从框架的入口到框架的工作结束的方法调用层次越来越多,势必框架也就越来越慢),如果你打算把框架定位于一个轻量级的框架的话,那么在今后的迭代过程中需要进行一些权衡,在心中有坚定的轻量级的理念的同时不断做性能测试来确保框架的轻量,否则随着时间的发展框架可能会越来越重进而偏离了开始的定位。 特性?如果你打算写一个框架,并且只有轻量级这一个理由的话,你或许应该再为自己的框架想一些新特性,就像做一个产品一样,如果找不出两个以上的亮点,那么这个产品不太可能成功,比如你的新框架可以是一个零配置的框架,可以是一个前端开发也能用的后端框架。其它?一般来说框架是给程序员使用的,我们要考虑框架使用的频度是怎么样的,这可能决定的框架的性能需求和稳定性需求。还有,需要考虑框架将来怎么发展,是希望走开源路线还是商业路线。当然,这些问题也可以留到框架有一个大致的结构后再去考虑。 我们来为本文模拟一个场景,假设我们觉得现有的Spring MVC等框架开发起来效率有点低,打算重复造轮子,对于新框架的定位是一个给Java程序员使用的轻量级的、零配置的、易用的、易扩展的Web MVC框架。 调研 虽然到这里你已经决定去写一个框架了,但是在着手写之前还是至少建议评估一下市面上的类似(成熟)框架。需要做的是通读这些框架的文档以及阅读一些源码,这么做有几个目的:
web实验 - 验证控件 南京信息工程大学Web技术与应用实验(实习)报告 实验(实习)名称验证控件实验(实习)日期2012-12-12 得分指导老师 系计软院专业软工班级 2 姓名夏丽丽学号20121344081 一、实验目的 1.熟悉验证控件的常用属性; 2.熟悉常用验证控件; 3.掌握验证控件的使用 二、实验内容与步骤 1、使用RequiredFieldValidator控件,对用户输入用户名进行验证,要求用户名不能为空:程序运行界面: (以下是部分代码) 3.使用CompareValidator控件,对用户输入的密码进行验证,要求用户名两次输入的密码必须一致: 4.使用CustomValidator控件,设计用户自定义验证,验证用户输入数字是不是偶数:
控件使用 、控件mscomm32.ocx 的几个重要属性 CommPort:设置并返回通讯端口号。 Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口。 Input:从接收缓冲区返回和删除字符。 Output:向传输缓冲区写一个字符串。 InBufferCount:返回接收缓冲区中等待的字符数,该属性在设计时无效,可以把InBufferCount 属性设置为0 来清除接收缓冲区。 InBufferSize:设置并返回接收缓冲区的字节数,接收缓冲区的大小。Rthreshold:产生OnComm 事件之前要接收的字符数。设置Rthreshold 为1,接收缓冲区收到每一个字符都会使MSComm 控件产生OnComm 事件。设置为0(缺省值)则不产生OnComm 事件。 CommEvent:返回最近的通讯事件或错误。该属性在设计时无效,在运行时为只读。只要有通讯错误或事件发生时都会产生OnComm 事件,CommEvent 属性存有该错误或事件的数值代码。CommEvent 属性返回2 表示收到Rthreshold 个字符。该事件将持续产生直到用Input 属性从接收缓冲区中删除数据。 2、实例: 该事例演示如何控制COM口发送命令及如何接收数据。本事例采用轮讯方式。适用于通讯数据 不是很巨大的和要求不是很高速的情况下。 (1)在VFP中,建立一个新的表单 (2)插入文本(命名为TEXT1,用来显示读取的数据) (3)建立Microsoft Communication Control1 控件在工具栏中点插入ole容器控件,选择Microsoft Communication Control 控件(NAMe为mscomm1) (4)建立一个按纽命名为command1 (5)在CHICK属性里下如下代码: **存储变量名字 buffer="" ** 使用COM1。 https://www.doczj.com/doc/e414437335.html,mPort = 1 **9600 波特,无奇偶校验,8 位数据,一个停止位。 thisform.MSComm1.Settings = "9600,N,8,1" * 告诉控件读入整个缓冲区。 thisform.MSComm1.InputLen = 0 * 打开端口。 thisform.MSComm1.PortOpen = True **将attention 命令送到调制解调器。这是MODEM的状态读取命令 thisform.MSComm1.Output = "ATV1Q0" & Chr$(13) ** CHR(13)是回车符号,用来表示命令结束 **等待数据返回到串行端口。 vv=1 do while .t. Buffer = thisform.MSComm1.Input *从串行端口读"OK" 响应。
html5表单新控件详解 Html5表单新控件详解 新的表单结构 HTML5中的表单结构变的更加的自由,原先我们在HTML4中所有的表单内容都得在一对form标签中,类似于这样:
在HTML5中表单控件完全可以放在页面任何位置,然后通过新增的form属性指向控件所属表单的id值,即可关联起来。这样我们代码的自由性就会更高了,类似于下面这样: ... 新增type属性 接下来,我们来认识一些新的控件: 1、email输入类型 说明:此类型要求键入格式正确的email地址,否则浏览器是不允许提交的,并会有一个错误信息提示。此类型必须指定name值,否则无效果。 格式: 错误效果展示(Firefox): 图3-1 正确格式展示(Firefox):图3-2 2.URL输入类型 说明:此类型要求输入格式正确的url地址,否则浏览器是不允许提交的,并会有一个错误信息提示。此类型必须指定name值,否则无效果。 格式: 错误格式展示(Firefox): 图3-3 正确格式展示(Firefox): 图3-4 3.时间日期相关输入类型 说明:时间日期相关输入类型这一系列表单控件给我们提供了丰富的用于日期选择的表单样式,包括年、月、周、日等。只需要一行代码就可以实现交互性非常强的效果,然而遗憾的是目前在Windows下仅有ChromeE和Opera支持。 格式: 效果展示(Chrome): 图3-5
KVDBGrid控件使用方法 KVDBGrid控件使用方法 KVDBGrid控件是一个组态王提供的用于通过ODBC接口访问数据库的Active X控件。通过该控件,用户可以方便的访问到数据库,进行数据查询,还可将查询结果打印出来。 一、控件功能: 1.显示数据库一个表中的数据,可进行显示字段选择,查询条件限制(目前暂不支持多个表数据的查询)。 2.开发状态可设置显示表头。 3.运行状态可编辑表格中数据。但不更新数据库。 4.运行状态可动态设置过滤条件,刷新显示。 5.可打印表格中显示的数据,可进行横向和纵向分页。 二、使用说明: 1.在画面中插入控件:组态王画面菜单中编辑\插入通用控件,或在工具箱中单击“插入通用控件”按钮,在弹出的对话框中选择KVDBGrid Class,单击确定。 2.按下鼠标左键,并拖动,在画面上绘制出表格区域。 3.设置动画连接:双击控件或选择右键菜单中动画连接,在弹出的属性页中设置控件名称等信息(控件动画连接属性的具体设置请参见《组态王6.0使用手册》中控件一章)。 4.设置控件属性:选择控件右键菜单中“控件属性”。弹出控件固有属性页,可分别设置如下属性:(1)、数据源: 单击“浏览”按钮可选择或新建ODBC数据源。 选择数据源后“表名称”组合框中就自动填充了可选的表名称,可弹出下拉列表选择要显示的数据所在的表名称。 选择表名称后,“有效字段”中自动填充表中的所有字段,可通过“添加”、“删除”,“上
移”,“下移”按钮来选择要显示的字段和显示顺序。 单击显示的字段,可在右侧设置字段显示的标题、格式、对齐等属性。 最后在“查询条件”中设置限制条件(ODBC SQL语法)。如查询“日期”2001年9月1日的“原料罐液位”大于10的所有数据,则在该文本框中输入: 原料罐液位>10 and 日期=’2001/9/1’ (2)、表格属性: 可设置表格的一般属性。 说明:如固定行数大于1,则第一行显示选择字段的标题,其它固定行不自动填充,要由 使用者在设计状态编辑其显示内容。 (3)、颜色: 可设置表格颜色,背景颜色,文本颜色等信息。 (4)、字体:
HTML控件和验证控件 周次:第四周 课时:4课时 课题:HTML控件和验证控件 教学目标及要求: ●使用各种HTML控件 ●理解HTML控件和Web控件的区别 ●使用各种验证控件 ●使用HTML控件、验证控件 重点: ●理解HTML控件和Web控件的区别 ●使用各种验证控件 难点: ●使用各种验证控件 ●使用HTML控件、验证控件 教学方法:采用3W1H方法讲授 教学内容及步骤: 一、引入新课: ●在https://www.doczj.com/doc/e414437335.html,中,控件分成HTML服务控件和Web服务控件两种 ●所有的https://www.doczj.com/doc/e414437335.html, Web服务器控件都派生自 System.Web.UI.WebControls 命名空间 ●使用Web服务器控件需要注意AutoPostBack的使用 ●Web 服务器控件可以分为: ●文本输入控件 ●控制权转移控件 ●选择控件 ●容器控件 ●其它专用控件 二、新课: (一)https://www.doczj.com/doc/e414437335.html, HTML 控件简介 1、HTML 服务器控件是由 https://www.doczj.com/doc/e414437335.html, 更新的标准 HTML 标签,通过添加 runat=“server” 属性将其用作服务器控件 2、HTML 服务器控件属于 System.Web.UI.HTMLControls 命名空间,派生自HTMLControl 基类 (二)HTML 控件与 Web 控件的区别 1、功能比较: HTML 控件: (1)、比较灵活 (2)、功能较少 (3)、在客户端运行窗体且不需用户结合多种功能时使用 (4)、可用来将ASP应用程序导入https://www.doczj.com/doc/e414437335.html,Web 控件: (1)、具备多种控件编程功能 (2)、包含大量控件 (3)、在服务器端运行窗体时使用 (4)、具备更加完善的功能来处理存储在数据库中的数据 (5)、可在可视化设计环境中使用
关于提取网页验证码的一些小知识 提取网页验证码 作者:Va杨炼 以前有想过要做一个注册机,或者登陆某个网站,但是这些都需要填写验证码,蛋疼啊!每次都要在自己写的程序里面那个浏览器里面输入,如果浏览器设置小了还要拉滚动条到验证码那输入蛋疼啊,想弄浏览器后台执行也不行啊,再一次蛋疼啊,今天Va杨炼就教大家来做如何提取网页上指定的验证码。 实验材料:TC编译器一个。以及TC编译器上示例上面插件应用—>获取网络验证码 实验对象:TC会员中心(未登陆)传送门:https://www.doczj.com/doc/e414437335.html,/login.aspx?return=http%3a%2f%https://www.doczj.com/doc/e414437335.html,%2findex.aspx 实验结果: 那么下面就开始吧:
第一步 : 首先,咱先新建一个项目,并且在该项目上加上一个浏览器,这是作者自己的。 第二步:添加初始化消息事件,并编写一段跳转至TC会员登陆中心的源代码。 咱写添加一个消息事件,也就是初始化,不知道如何添加这个初始化事件的,你就问问高手吧,我表达能力有限,我也不知从何说起,在这作者就不细说了,现在可以先撸一段代码了。 代码: 功能初始化() 网页.转到("浏览器0","https://www.doczj.com/doc/e414437335.html,/login.aspx?return=http%3a%2f%https://www.doczj.com/doc/e414437335.html,%2findex.aspx") 功能结束 效果图: (小提示:这里面填写的网址就是TC会员中心的登陆网址哦!如果登陆了请先退出哈。我想你不会傻逼到问我为什么要退出吧 = =..?那我就傻逼的回答你,你他妈不退出哪来登陆?抱歉骂流话了…….) 好了现在咱下F5运行咱的脚本看看效果.
MFC控件使用详细教程 使用Windows标准控件 我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。在Visual C++中,可以使用的控件分成三类: (1) Windows标准控件 Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。 表6.1 Windows标准控件
续表6.1 前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。Windows标准控件在以下环境下提供: ?Windows 95 ?Windows NT 3.51及以后版本 ?Win32s 1.3 ?注意: ?Visual C++ 4.2及以后版本不再支持Win32s。 (2) ActiveX控件
ActiveX控件可用于对话框中,也可用于HTML文档中。这种控件过去被称为OLE 控件。本书将在专门的章节中来讲述关于ActiveX控件的知识。这里仅指出ActiveX控件使用了与标准控件完全不同的接口和实现方法。 (3) 其它MFC控件类 除了Windows标准控件和自己编写的或者来自于第三方软件开发商的ActiveX 控件以外,MFC还提供了另外三种控件,它们由下面的三个类进行封装: ?类CBitmapButton用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,分别代表按钮的四种不同状态。 ?类CCheckListBox用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决定该项是否被选中。 ?类CDragListBox用于创建一种特殊的列表框,这种列表框允许用户移动列表项。 在本章我们仅讲述第一类控件,即Windows标准控件。所涉及的内容包括各个控件的使用及相应的技巧。 第一节使用对话框编辑器和ClassWizard 对于大多数Windows标准控件,我们一般都使用对话框编辑器来将它们添加到对话框中。 图6. 1 在ResourceView中选择对话框 IDD_DIALOGDEMO_DIALOG
DevExpress基础验证控件 DevExpress 的验证控件 分类:DevExpress2012-08-09 23:44 975人阅读评论(1) 收藏举报1. DXErrorProvider:错误提示控件,用法类似于VS的winform控件中的ErrorProvider。 下面为一个使用实例,验证文本框输入是否为数字: ①.添加System.Text.RegularExpressions引用。 ②.在设计视图上拖一个textEdit控件textEdit1。 ③.验证输入是否为数字,不是显示错误提示。 [html]view plaincopyprint? 1.public bool IsNumeric(string sNumeric) 2.{ 3. return (new Regex("^[\\+\\-]?[0-9]*\\.?[0-9]+$")).IsMatch(sNumeric) ; 4.} 5.private void simpleButton1_Click(object sender, EventArgs e) 6.{ 7. InitValidationRules(); 8. dxErrorProvider1.ClearErrors(); 9. if (IsNumeric(this.textEdit1.Text)==false) 10. { 11. dxErrorProvider1.SetError(textEdit1, "输入要为数字! ");//DXErrorProvider.SetError(验证的控件,错误提示) 12. } 13.} 2.DxValidationProvider:验证控件,类似于VS的web控件中的"验证控件" 下面为DxValidationProvider使用实例: ①.添加DevExpress.XtraEditors.DXErrorProvider引用。 ②.在设计视图上拖两个textEdit控件textEdit2和textEdit3。 ③.实现验证textEdit2不可为空,textEdit3输入值在0-100之间: [csharp]view plaincopyprint? 1.private void InitValidationRules() 2.{ 3. ConditionValidationRule notEmptyValidationRule = new ConditionVal idationRule(); 4. notEmptyValidationRule.ConditionOperator = ConditionOperator.IsNo tBlank;//验证条件 5. notEmptyValidationRule.ErrorText = "此栏不能为空!";//提示信息
坐席控件开发接口使用说明最新 呼叫中心坐席端控件(EasyAgc.ocx)使用说 明 为什么需要坐席端控件 在一个完整的呼叫中心系统中,坐席端软件是一个重要的组成部分。坐席人员通过坐席端软件与呼叫中心服务器(CCS)进行交互,完成对通讯设备的控制和相关信息的交换,如坐席的登录、注销、离席、复席、应答、呼出、转移等等动作,都是通过坐席端软件与CCS的通信完成的。一般来说,坐席端软件与CCS之间的通信是建立在TCP/IP的基础上的。具体的通信包格式可以自行定义。为了降低坐席端软件的开发难度和加快坐席端软件的开发速度,通行的做法是把坐席端软件分成通信模块与业务模块两部分。其中业务模块会随客户的需求变化而变化,一般都需要进行定制开发;而通信部分则相对变化较少,不论什么行业的呼叫中心,其坐席端软件一般都需要包括坐席的登录,注销,呼出,应答,挂断,转移等基本通信功能。因此有必要把坐席软件的通信模块进行封装,以OCX控件的方式提供给最终用户,最终用户不需要了解坐席端与CCS之间的通信包格式,也不必学习Socket通信的开发技术,只需访问OCX控件公布的方法和属性,对OCX控件公布的事件进行响应,就可以完成坐席端软件通信模块的开发。 坐席端控件支持的开发语言 北京同力信通软件公司坐席端控件符合Windows控件标准,理论上支持所有可以支持控件的开发语言,成功通过北京同力信通软件公司公司测试的语言包括: Delphi 7.0 Visula Basic 6.0 Visual C++ 6.0 IE6.0-VBScript/Jscript 坐席端控件的接口 方法 tlaOpen tlaClose tlaLogin tlaLogoff tlaACW tlaWCA
VB练习1讲解 1.下面数组声明语句中,数组包含元素个数为 ________。 Dim a(-3 to 2,5) A.120 B.30 C.60 D.36 2.有如下程序代码,输出结果是________。 Dim a() a=Array(1,2,3,4,5) for i=Lbound(a)to Ubound(a) print a(i); next i A.1 2 3 4 5 B.0 1 2 3 4 C.5 4 3 2 1 D.4 3 2 1 0 3.假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是________。 A.数组中每个命令按钮的名称(名称属性)均为Command1 B.数组中每个命令按钮的标题(Caption属性)都一样 C.数组中所有命令按钮可以使用同一个事件过程 D.用名称Command1(下标)可以访问数组中的每个命令按钮 4.在设定Option Base 1后,经Dim arr(3,4)As Integer 定义的数组arr含有的元素个数为________。 A.12 B.20 C.19 D.9 5.有如下程序代码,输出结果是________。 Dim a(-3 to 6,5) n=Lbound(a,2) print n A.-3 B.0 C.6 D.5 6.有如下程序代码,输出结果是________。 Dim a(-3 to 6,5) n=Ubound(a,1) print n A.-3
B.0 C.6 D.5 7.要获知当前列表项的数目,可通过________属性实现。 A.List B.ListCount C.ListIndex D.Text 8.根据需要用________可以重新确定动态数组的大小。 A.ReDim B.Dim C.Static D.Public 9.用ReDim不可以改变动态数组的________。 A.大小 B.类型 C.维数 D.下标值 10.可以通过修改控件数组中的控件的________属性值改变其在数组中的顺序。 A.Font B.Caption C.Index https://www.doczj.com/doc/e414437335.html, 11.用来设置斜体字的属性是 ________。 A.FontBold B.FontItalic C.FontName D.FontSize 12.复选框的Value 属性为 2时,表示 ________。 A.复选框未被选中 B.复选框被选中 C.复选框呈灰色不可用 D.复选框操作有误 13.下列控件中没有Caption属性的是 ________。 A.框架 B.列表框 C.复选框 D.单选按钮 14.滚动条产生Change事件是因为 ________值改变了。
组态王视频控件使用方法 组态王视频控件使用方法 第一步建立一个组态王工程; 第二步建立一个新画面; 第三步添加视频控件’具体步骤如下: 1插入通用控件video control 图1 Ifi人控件 图2 2、单击确定后鼠标变成“ +”状,按住鼠标左键,拉出一个矩形框,松开即可;
图3第三步添加按钮; 图4 第四步设置视频控件动画连接属性,完成后点击“确定”按钮,然后在开发系统界面的文件下拉菜单下选择全部存;
图5 第五步编辑按钮动画连接属性; 1、双击“打开视频”按钮,弹出下图对话框,单击“按下时”; 图6
弹出图XXX对话框选择“控件属性和方法”按钮,弹出(图8)对话框; 图7
选择“ Open Video ”单击确定弹出(图10)对话框了; 授伸名珊 |确定 両毎习 ZJ 取消 查若类型 1揑件方法 2d 屈性戒方进 Kb outB ox CapVll^ToAVI ^LoselTideo G E tl'evKum Zip enAVI 图8 KeadFort
图10 “LONG nReslnde”代表设备号,右键“我的电脑—管理—设备管理器一图像处理设备”双击你安装的视频设备就可以查看你的视频设备号。 关闭视频:视频练习.CIoseVideo(); 拍照:视频练习.SaveVideoFrame(LPCTSTR IpszPicName)" LPCTSTR IpszPicNam” 照片的保存地址和名称; 回放:视频练习.OpenAVI(LPCTSTR lpszFileName) “LPCTSTR lpszFileNam e要回 放的视频保存位置及名称; 摄像:视频练习.CapVideoToAVI(LPCTSTR IpszAVIName)'LPCTSTR lpszAVINam”表示录制的视频将保存的位置及视频文件名称; 抓拍:视频练习.SaveVideoFrameToRect(LPCTSTRlpszPicName) ;“ LPCTSTR IpszPicName”表示抓拍的图片即将保存的BMP文件的位置和名称; 设置视频源:视频练习.VideoSource();设置视频的来源,即选择视频设备; 停止摄像:视频练习.StopCapVideo();
为什么我的验证码图片显示不出来 为什么我的验证码图片显示不出来 安装XP SP2后,大多数用户发现在访问某些需要填写验证码的地方,都无法显示验证码图片(显示为一个红色小X),这是Microsoft Windows XP操作系统的一个非常严重的Bug。解决办法为:运行“Regedit”命令打开注册表编辑器,依次定位到“[HKEY_ LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ Security]”,在窗口右边新建一个名为“BlockXBM”的REG_ DWORD值,将其值设置为“0”(十六进制值),默认值就行。 详细步骤: ①点“开始”选择“运行”填入“Regedit”后点“确定”命令打开注册表编辑器; ②依次定位到“[HKEY_ LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ Security]”; ③在窗口右边右击选择“新建”“DWORD值”,然后把“名称”重命名为“BlockXBM”,“类型”默认为“REG_ DWORD”,默认值应为“0x00000000(0)”, ④点“文件”选择“退出”,重启IE就ok了! 大多数用户发现在访问某些需要填写验证码的地方,都无法显示验证码图片。解决办法有: 方法1、 原因是你的阻挡了所有网站COOKIES,导致对方无法读取你的COOKIES,所以无法显示验证码图框。另外有些网站的验证码采用FLASH形式显示,这要装Adobe Flash Player ActiveX插件的,不安装可能都是显示“X”。 IE7 在很多情况下并不会提醒用户安装Flash ActiveX 控件,用户往往在使用很长一段时间之后,才会突然被提示需要安装Flash 控件,访问Adobe 网站在线安装时,也会由于无法显示验证码不能安装,鉴于这个问题,大家可以安装Adobe Flash Player ActiveX 控件的独立安装程序。 首先: 打开IE浏览器→工具→Inter选项→隐私(设置为中)→确定,保存退出 打开IE浏览器→工具→Inter选项→高级→在“显示图片”的框框打√,或直接“恢复默认值”。 再下载Adobe Flash Player ActiveX控件(请使用右键迅雷下载)进行独立安装,然后重启电脑。 方法2、 开始->运行,在运行输入框中输入“regsvr32 c:\windows\system32\pngfilt.dll”(不包含双引号),然后点击确定,如果在注册时出现“已加载c:\windows\system32\pngfilt.dll,但没有找到DllRegisterSever 输入点,无法注册这个文件”,则表明这个文件可能损坏了 你要去别的机子去Copy一个好的过来(也可以来这个网站下载:),再进行一次注册,即:开始->运行,在运行输入框中输入“regsvr32 c:\windows\system32\pngfilt.dll”(不包含双引号),如果出现“c:\windows\system32\pngfilt.dll 中的DllRegisterServer 成功”,说明问题已经解决了。 如果在覆盖“pngfilt.dll”文件时,提示“无法复制PNGFILT:文件正被另一个人或程序使用。关闭任何可能使用这个文件的程序,重新试一次。”,就把“c:\windows\system32\pngfilt.dll”这个文件用文件粉碎机粉碎掉,然后把新的“pngfilt.dll”文件粘贴过来就OK了!