微软官方MSDN原版Win10系统下载

现在位置: 首页  > 系统教程  > 系统帮助

如何调用com组件

时间:2024-09-20 19:09:53   

大家好,今天Win10系统之家小编给大家分享「如何调用com组件」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!

生意如何小账本专业版-小商户销售和存货记账系列软件最新版本下载

1..NET中怎么调用COM组件


  .NET在设计之初就考虑到了如何方便的利用现有的各种技术资源,这也是微软的一贯作风,.NET的强大之处也可见一斑。.NET提供了大量的类库来方便的实现同COM的相互操作,其中很重要的一个名称空间就是:System.Runtime.InteropServices。通过这个名称空间的名字我们也可以从字面上看出,“互操作服务”。System.Runtime.InteropServices这个名称空间提供了一系列的类来对COM对象进行操作。
下面的例子中,我们来调用一下系统自带的Win32函数MessageBoxA,这个函数位于系统的COM组件user32.dll当中,我们调用的代码如下:
using System;
using System.Runtime.InteropServices;
class Test{[DllImport( "user32.dll ")]
public static extern int MessageBoxA(inthWnd,string strMsg,string strCaption,intnType);
public static void Main(){int myMsg;
myMsg=MessageBoxA(0, "Hello! ", "test ",0);}}切换到MS-DOS命令行下面,运行:
C:\ csc Test.cs
编译完毕我们的C#应用程序之后,直接运行就可以看到对话框了!
需要注意的是,在调用COM组件之前,我们需要在.NET程序中引用名称空间:System.Runtime.InteropServices。因为我们需要使用这个名称空间所提供的一个方法:DllImport。
你需要做的是:
1.做一个COM+的.NET封装(可以直接在VS.NET中引用COM组件,也可以使用Regsvcs.exe命令自己完成)
2.在项目中引用上面产生的dll最好可以帖出你的代码,这样大家判断的才准确!

2.如何开启com组件


  COM component(COM组件) 
COM是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。由此带来的好处是多方面的:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM与语言,平台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件模块;等等。 
COM是开发软件组件的一种方法。组件实际上是一些小的二进制可执行程序,它们可以给应用程序,操作系统以及其他组件提供服务。开发自定义的COM组件就如同开发动态的,面向对象的API。多个COM对象可以连接起来形成应用程序或组件系统。并且组件可以在运行时刻,在不被重新链接或编译应用程序的情况下被卸下或替换掉。Microsoft的许多技术,如ActiveX, DirectX以及OLE等都是基于COM而建立起来的。并且Microsoft的开发人员也大量使用COM组件来定制他们的应用程序及操作系统。
COM所含的概念并不止是在Microsoft Windows操作系统下才有效。COM并不是一个大的API,它实际上象结构化编程及面向对象编程方法那样,也是一种编程方法。在任何一种操作系统中,开发人员均可以遵循“COM方法”。
一个应用程序通常是由单个的二进制文件组成的。当编译器生成应用程序之后,在对下一个版本重新编译并发行新生成的版本之前,应用程序一般不会发生任何变化。操作系统,硬件及客户需求的改变都必须等到整个应用程序被重新生成。
目前这种状况已经发生变化。开发人员开始将单个的应用程序分隔成单独多个独立的部分,也既组件。这种做法的好处是可以随着技术的不断发展而用新的组件取代已有的组件。此时的应用程序可以随新组件不断取代旧的组件而渐趋完善。而且利用已有的组件,用户还可以快速的建立全新的应用。
传统的做法是将应用程序分割成文件,模块或类,然后将它们编译并链接成一个单模应用程序。它与组件建立应用程序的过程(称为组件构架)有很大的不同。一个组件同一个微型应用程序类似,即都是已经编译链接好并可以使用的二进制代码,应用程序就是由多个这样的组件打包而得到的。单模应用程序只有一个二进制代码模块。自定义组件可以在运行时刻同其他的组件连接起来以构成某个应用程序。在需要对应用程序进行修改或改进时,只需要将构成此应用程序的组件中的某个用新的版本替换掉即可。
COM,即组件对象模型,是关于如何建立组件以及如何通过组件建立应用程序的一个规范,说明了如何可动态交替更新组件。
使用组件的优点:
组件架构的一个优点就是应用可以随时间的流逝而发展进化。除此之外,使用组件还有一些可以使对以有应用的升级更加方便和灵活的优点,如应用的定制,组件库以及分布式组件等。
使用组件的种种优点直接来源于可以将它们动态的插入或卸出应用。为了实现这种功能,所有的组件必须满足两个条件:第一,组件必须动态链接;第二,它们必须隐藏(或封装)其内部实现细节。动态链接对于组件而言是一个至关重要的要求,而消息隐藏则是动态链接的一个必要条件。 
补充:COM组件由以Win 32动态连接库(DLL)或可执行文件(EXE)形式发布的可执行代码所组成。遵循COM规范编写出来的组件将能够满足对组件架构的所有要求。COM组件可以给应用程序、操作系统以及其他组件提供服务;自定义的COM组件可以在运行时刻同其他组件连接起来构成某个应用程序;COM组件可以动态的插入或卸出应用。
恶意网站可以利用含有漏洞的com组件接口,下载木马,并且执行;
禁用com组件一般是指设置了Kill位,即IE浏览器不能使用这个组件,通俗讲:通过设置Kill位,可以使InternetExplorer在使用默认设置时永不调用被禁用的com组件,从而禁止该控件在Internet Explorer中运行。禁用含有漏洞的com组件后,IE就不能调用含有漏洞的COM组件;黑客利用有漏洞的COM组,写成的网页代码就不能在IE中被执行,木马等将不会被下载。
禁用com组件可能导致的问题:
在线播放功能的组件被禁用,会导致在线电影等在线视频无法正常观看;
在线杀毒功能的组件被禁用,会导致在线杀毒不能使用;
在线游戏功能的组件被禁用,会导致在线游戏无法玩,
com组件禁用后的具体情况,需要根据具体的com组件功能作判断。
手动启动COM组件操作方法:
运行——regedit——找到被禁用的com组件对应的clsid|注册表键值——删除具体值,或者整个键

3.javascript 如何调用 COM组件?(系统注册的)


  很巧啊,最近我也在学习网络编程,我先学了两周的ASP编程,.NET现在是,然后开始学习JSP,因为JSP要强大一些,他们的主要区别和特点如下。
ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。 ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。 与HTML相比,ASP网页具有以下特点:
 (1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;
 (2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;
 (3)服务器上的ASP解释程序会在服务器端制定ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;
 (4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;
 (5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发现和那个Email或访问文件系统等。
 (6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取
JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。
 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。
 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
 PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在 1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要且增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mSQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。
 PHP的特性包括以下几点:
 开放的源代码:所有的PHP源代码事实上都可以得到。
 PHP是免费的。
 基于服务器端:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。
 嵌入HTML:因为PHP可以嵌入HTML语言,所以学习起来并不困难。
 简单的语言:PHP坚持脚本语言为主,与Java以C++不同。
 效率高:PHP消耗相当少的系统资源。
 图像处理:用PHP动态创建图像
PHP由于是免费的,所以虽然不入其他两个好,但是也很受欢迎,毕竟人家是免费的!你要学习的话我建议你先学习HTML语言,一天或者两天就ok了,然后学ASP,毕竟是微软支持的,用的很多现在,当然最强大的还是JSP,所以也必须学点JSP,现在很多公司都在大力开发JSP,他的功能真的很强大!
希望你尽快掌握网络编程,学习是快乐的!!

以上就是关于「如何调用com组件」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

【文章★来♂自Win10系统之家,未经允许不得转载!】

相关文章

  • 如何调用com组件

    如何调用com组件

    1..NET中怎么调用COM组件.NET在设计之初就考虑到了如何方便的利用现有的各种技术资源,这也是微软的一贯作风,.NET的强大之处也可见一斑。.NET提供了大量的类库来方便的实现同COM的相互操作,其中很重要的一个名称空间...
  • asp.net如何调用类

    asp.net如何调用类

    1.[转贴]Asp.net怎样调用类今天无意看到了这篇文章,尽管我已脱离这个阶段了!可还是忍不住地把它贴过来了!!!这个问题可能对于很多Asp.net的初学者来说都是一个大难题,我也不例外,今天研究了2小时,终于明白了,就让我...
  • 如何调用父类的构造函数

    如何调用父类的构造函数

    1.C#中子类构造函数中如何调用父类构造函数1.子类的子类调用父类中的隐藏成员一般情况,在调用父类成员时子2代和子1代没什么区别。但如果子1代隐藏父类成员,情况就会不同。像上面的情况,Son隐藏了父类的成员变量name和...
  • c  如何调用lib

    c 如何调用lib

    1.C++怎么调用lib库啊?1LIB文件直接加入到工程文件列表中在VC中打开FileView一页,选中工程名,单击鼠标右键,然后选中"AddFilestoProject"菜单,在弹出的文件对话框中选中要加入DLL的LIB文件。然后在首先要使用该函数的...