vb.net里调用com,com对应的就是dll文件,有参考手册,这样调用对吗? [问题点数:50分,结帖人ruan1978]

Bbs2
本版专家分:185
结帖率 99.71%
Bbs2
本版专家分:185
Bbs12
本版专家分:403143
版主
Blank
名人 2014年 荣获名人称号
2013年 荣获名人称号
2012年 荣获名人称号
Blank
状元 2013年 总版技术专家分年内排行榜第一
Blank
探花 2014年 总版技术专家分年内排行榜第三
Blank
进士 2012年 总版技术专家分年内排行榜第四
pb调用C#中COM组件(2)
接pb<em>调用</em>C#中COM组件(1)续
Python调用C# Com dll组件实战
类似于这种C# 能实现的功能而在Python下实现不了的,搜集资料有两种解决方案,第一种方式,使用IronPython 直接<em>调用</em>C# <em>dll</em><em>文件</em>,教程网上很多,不在赘述了,这种方式有个缺点,用的是ironPython而非Python,只是集成了一些.net framework库的Python版本,更新维护少;第二种方式是,C# <em>dll</em>源码编译成Com组件,Python再<em>调用</em>COM组件Dll的方法。 网上有很多Python<em>调用</em>COM <em>dll</em>教程,但大部分是C或C++编写的<em>dll</em>,很少有比较全面的
PHP调用非COM的dll
由于前段时间闲着无聊没事做去捣鼓一个PHP的网络验证系统!想用AES来实现客户端和服务端的双向动态加密,客户端用易语言编写,由于AES算法的填充方式和IV不同,所以不能达到互解,于是想到了用E写个DLL给PHP<em>调用</em>!由于易写的DLL不是标准的<em>com</em>,所以PHP<em>调用</em>需要用非<em>com</em>的<em>调用</em>方法!PHP需要用到这个扩展组件:dynwrap.<em>dll</em>   首先在注册这个组件到system   然后在php配置
调用DllRegisterServer进行COM组件的注册
<em>调用</em>DllRegisterServer方法进行COM组件的注册 一个替代“regsvr32.exe"COM组件注册工具的方法是手动<em>调用</em>COM模块中的DllRegisterServer. 步骤如下 1. 定义DllRegisterServer的函数指针类型 2. <em>调用</em>LoadLibrary()加载COM模块 3. <em>调用</em>GetProcAddress()获得DllRegisterServe
调用dllcom的区别
问题:<em>调用</em>COM与<em>调用</em>DLL的区别和联系<em>调用</em>DLL必须<em>这样</em>:HMODULE hDll=::LoadLibrary("..//Debug//w<em>dll</em>.<em>dll</em>");if(hDll==NULL){MessageBox("加载动态链接库失败","Warning",MB_OK|MB_ICONWARNING); return;}typedef int (*Yadd)(int,int);Yadd yadd=(Y
对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错。
原文地址:http://www.cnblogs.<em>com</em>/gisoracle/p/5440846.html 无法将类型为“Excel.ApplicationClass”的 COM 对象强制转换为接口类  型“Excel._Application”。此操作失败的原因是对 IID 为“{000208D5  -0000-0000-C000-000000000046}”的接口的 COM 组件<em>调用</em> 
C#调用c++的DLL出现“不能直接添加引用,提示不是COM和程序集DLL”
对于传统的动态链接库,使用下面的方式: using System.Runtime.InteropServices; [DllImport("kernel32.<em>dll</em>")] public static extern int Beep(int dwFreq, int dwDuration); private void WarnSound() { Beep(1900, 3000); }
asp调用DLL或com组件的简述及网上摘例
动态联接库(DLL)是加快应用程序关键部分的执行速度的重要方法 asp<em>调用</em>DLL或<em>com</em>组件的方法:步骤一: 装载 METADATA 标签中指定的类型库。 Path是my<em>dll</em>.<em>dll</em>在机器上存放的路径 或者(1)传统的ActiveX DLL要想让COM能够“看到”你的组件,必须先将组件注册到注册表中:regsvr32 XX.<em>dll</em>(2)在ASP中<em>调用</em>基于.Net开
Java调用dll Java调用COM组件
1、JNative JNative<em>调用</em><em>dll</em>很方便,只是需要<em>dll</em>有导出函数,否则调不到。<em>就是</em>说要<em>调用</em>的方法必须是导出函数。如果不知道你的<em>dll</em>有没有这个导出函数,可下载这个软件查看——DLL函数查看器。 下载JNative开源项目(百度之),解压开,拿到三个<em>文件</em>,分别是:JNativeCpp.<em>dll</em>,libJNativeCpp.so,JNative.jar 。  ——JNativeCpp.
C#生成com组件形式的dll供C++调用
①创建C#类库(ClassLibrary)、设置AssemblyInfo.cs中的[assembly: ComVisible(true)]默认是false、或者在接口和类之前添加设置为true     [ComVisible(true)]     [Guid("E709D3B9-18E8-4189-B1E0-49F72DD5A74C")]     public interface Combi
VB语言COM组件开发GUID指定方法
一、背景          VS2010开发环境下,VB的开发许多代码可以自动的生成模板,节省大量开发时间。 二、方法    新建一个项目,选择Visual Basic\Window \ 类库,假设项目名为ClassLibrary1    在solution manager(解决方案资源管理器)中的项目上点击右键,在弹出的菜单上点击添加类,在弹出的对话框中选择“<em>com</em>类”,修改类的名称(本
不注册COM组件直接调用接口
本文以COM组件AppLogo.<em>dll</em>为例,AppLogo.<em>dll</em>中提供了IDunRui接口,在不使用regsvr32向系统注册的情况下创建IDunRui接口并<em>调用</em>。 一、导入组件或类型库;     在C++中使用COM组件,需要向其提供类型库,以公开接口和方法。类型库<em>文件</em>类型为tlb<em>文件</em>,直接#import导入即可。类型库也可以以资源形式编译进COM组件Dll内部,资源类型为TYPE
通过 JACOB 实现 Java 与 COM 组件的互操作
软件的互操作性是一个我们经常面临的问题,如果 Java 可以自由的<em>调用</em>其他语言和平台的成熟代码,可以充分利用您的 Java 技能,大大提高您的生产力。现有的 Java COM 互操作技术有很多种实现,JACOB 开源项目提供了一个简单方便的通用<em>调用</em>框架 COM 组件提供了一种与其他语言的互操作方式,叫做自动化(Automation)。现有的 Java COM 互操作的解决方案有很多种,由于设计目
com组件和一般dll的区别
    这阵子在想一个需要利用<em>com</em>组件的小程序怎么做,突然想起上次去面试的时候考官问过autocad开发时为什么要利用<em>com</em>,而不采用一般的<em>dll</em>呢?     到google上查了一下,许多人也问了一样的问题:)     用<em>com</em>来写程序要比普通的<em>dll</em>麻烦一些,但是带来的好处也大很多,尤其是在开发像autocad<em>这样</em>大型软件的时候,需要跨区域来协同工作。 “学习COM,首先要知道COM的目的
VC调用C#的COM组件(DLL)
假设要进行二次开发的程序为 A.exe,要增加的功能使用增加DLL的方法来完成,设为C<em>dll</em>.DLL,其中含有A、B、C等方法。       其中的方法A要用到C#类库Csharp.DLL中的方法A。要完成这个任务,参考网络上的各种方法与代码,总结其步骤如下:先用VS2008 C#类库项目写成含有A方法的DLL,并设置项目属性以进行COM的封装,然后用VC6 等写C代码进行<em>调用</em>。一、生成C#类库 Csharp.DLL(1)在Visual Studio 2008 中创建C#的类库项目 CSharp(2)实现的
Delphi 怎么不注册 dll调用 com
一.方法 lich (2003-10-30 22:16:00)  前言: 如果你的程序中使用了 COM对象或者 OCX控件, 发布程序的时候必须带上相关的 DLL<em>文件</em>或者 OCX<em>文件</em>, 同时还需要注册到系统中, 如果我想让我的程序 Copy & Run, 不需要安装,(现在流行绿色软件嘛) 那么使用下面的方法可以<em>调用</em>未注册的 COM对象或者 OCX控件 我仅仅提供简单的
VB.NET 生成DLL文件 调用DLL文件
 VB.NET 生成DLL<em>文件</em> <em>调用</em>DLL<em>文件</em>打开VS2013选择 类库 (1)写入一下代码Public Class Class1    Public Function world()        world=“哈喽世界!”    End FunctionEnd Class(2)选择 生成——生成world.DLL<em>文件</em>Class1.DLL(3)新建——Visual Basic——Windows—...
32位程序访问64位DLL,使用COM组件
一直纠结于微软所谓的32位程序不能访问64位<em>dll</em>或64位程序不能访问32位<em>dll</em>,MSDN上的说明也不能完全理解。 这两天纠结的问题终于需要直面了,有个项目需要转到64位平台上运行(需要超4G内存),但它是用VC6.0开发的,第一反应想到下面几个方式: 1,将VC6.0项目转到VS2005及以上,确实<em>这样</em>做了,报出一堆错误,真心不想debug这个了,太古老了。 2,VC6.0开发6
c#实现和vb调用createobject()类似方法创建com对象,调用method和property
VB中可以直接用CreateObject("ProgID"或者"CLSID")就可以创建<em>com</em>对象,然后直接使用它的方法和属性,但是c#网上资料很少 C#中类似 CreateObject 的方法<em>就是</em> System.Activator.CreateInstance. 后续的对象函数的<em>调用</em>能够通过InvokeMember方法来实现。 如在VB中的源代码如下: Public Sub TestCre
VB调用Delphi编写的DLL - 1
很多人使用VB6来编写实用程序,但是VB6有些功能实现,太费劲了。    但是,VB提供了标准的COM接口---只要在Windows下运行的程序经过转换VB都可以<em>调用</em>!    本人(xiaobin)通过以前做给客户的DLL<em>文件</em>,来做一个抛砖引玉!希望给有此兴趣和需要的人提供一个帮助!        DLL提供的功能主要为<em>文件</em>校验之用!(根据C程序,使用Delphi实现)    有
对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错
网上有很多答文,大部分都是因为Office多版本引起的<em>dll</em><em>调用</em>不明确问题。此类通过删除注册表<em>对应</em>的office版本一般都能解决。 本人遇到的问题,是office2003 没有装在C盘,这也是我因为我向来不喜欢把东西装在C盘引起的。结果注册表搞了一大通,连路径都能记清楚了,还是没解决。后来想着是不是win Server 2016 服务器版本原因,是什么地方还需要进行设置,结果网上根本没有这与服务...
vc中调用Com组件的五种方法详解
vc中<em>调用</em>Com组件的方法详解 转载自:http://www.cppblog.<em>com</em>/woaidongmao/archive/2011/01/10/138250.html 需求: 1.创建myCom.<em>dll</em>,该COM只有一个组件,两个接口:    IGetRes--方法Hello(),    IGetResEx--方法HelloEx() 2.在工程中导入组件或类型库
win32com调用ATL编写的COM组件
IDL<em>文件</em> import "oaidl.idl"; import "ocidl.idl"; [ object, uuid(B325C169-61FA-4513-9DB1-0CC231CCB633), dual, nonextensible, helpstring("IComTestClass Interface"), pointer_default(unique) ] interf
COM组件的三种调用机制
这里的COM组件可以是一个进程内服务器(In-Process Server),也可以是一个进程外服务器(Out-Of-Process Server)。一般情况下,我们在使用这些COM组件的时候,只要保证COM是正确注册了,根本不用关心DLL是怎么被load进来的,或者Exe的进程是被怎么创建的,一切都交给系统提供的COM启动机制,而之中用的最多的<em>就是</em>: STDAPI CoCreateInsta
js调用COM组件示例
说明:可能需要对IE安全设置中的ActiveX控件和插件相关属性进行设置。(如果需要可以将COM组件进一步封装为ActiveX,实现ISafeObject安全接口,签名打包为EXE或CAB<em>文件</em>)   <em>调用</em>示例: function testCString() { try { var obj = newActiveXObject("atl_pr
PHP调用C#的COM组件
1. 测试的环境1.1 php5.5(window 64 位)1.1.1需要开启<em>com</em>支持,在ini中配置:<em>com</em>.allow_d<em>com</em>= trueextension=php_<em>com</em>_dotnet.<em>dll</em>重启服务器1.2 C#安装vs20132. 代码部分2.1新建类库  2.2创建类  2.3配置属性     记得要ctrl+s 保存 2.4代码完善 创建一个普通的方法做测试。2.5生成类库(不...
VB.net 调用自己封装起来的用VB.net做的DLL
本来想用C#<em>调用</em>,先来用VB.net <em>调用</em>一下DLL类库。当然,这个DLL也是用VB.net自己开发的,目的吗。一个是提高运行效率,一个是觉得好玩儿。 具体实现方法如下: 第一步,制作<em>dll</em>.       首先打开Microsoft Visual Basic .NET 。也<em>就是</em>那个集成开发环境。打开后选择新建一个VB.net 项目。选择“类库”模版。       然后,修改一下自动生成
如何把DLL封装为COM组件供C++程序调用
需要将C#部分的接口提取出来,导出到COM,然后C++通过COM来<em>调用</em>它。 using System; using System.Runtime.InteropServices; namespace ClassLibrary1 { [ComVisible(true)] [Guid(“F3528A0F-D34F-4A5B-9849-0DCAD6212D5A”)] public interface M...
vs2017生成COM组件,VB调用
新建项目 -- ATL项目  (项目属性--链接器--常规--逐用户重定向 --选为是)  确定,跳出ATL选项,直接再点确定 add<em>com</em>项目新增项目 添加类test(atl简单对象) 此时test.h中的头<em>文件</em>add<em>com</em>_i.h尚未生成,只是一个空<em>文件</em>,会提示未定义标识符,不用管 在idl<em>文件</em>中新增接口方法(重要  -- vs2017以前可通过类视图中移到项目上展示xx...
C# 制作Com组件:java调用.net DLL的方法
巧用C#做中间语言 实现Java<em>调用</em>.net DLL.本文将详细为大家介绍一个java<em>调用</em>.net DLL的方法,以实现特殊的客户的特殊要求:“在Java项目中必须使用其提供的用.net写的DLL加密机制!”环境与工具:◆.net framework 3.5 C#◆java jdk1.5, Tomcat 5.5◆jacob-1.15-M3实现例子:一、C# 制作Com组件新建一个Class 项目,...
如何使用VB创建一个COM组件????
转载:     看看这对你有没有帮助。         终于试验成功了!     我在原本只有win2000   professional   的机器上又安装了一个win2000   server,并将其配置成主域     控制器,然后在另一台win98机器上用Administrator登录,启动VB,写个小程序试了一下,OK!         为避免大家继续在黑暗中摸索,我现将试验用的具体例子及
php调用dll经验小结
      最近做一个网站,需要频繁使用远程数据,数据接口已经做好。在做转换的时候遇到了性能上的问题:开始打算用php来实现转换,苦苦查了数天,都没有找到直接操作字节的方法。虽然可以使用 pack() 方法将各个数据压入结构中,但是在解压的时候却不能通过 unpack() 简单的解出来,需要通过//php codefor( $i = 0; $i < $length; $i+=2 ){    $tempstr = $tempstr.chr( hexdec(substr($a
将vb文件使用C#封装成com组件调用
1、新建一个类库项目 2、将Class1.cs改为我们想要的名字(例如:MyClass.cs) 问是否同时给类改名,确定 3、修改Properties目录下面的AssemblyInfo.cs   ComVisible属性设置为true 改成下图 4、项目-&amp;gt;MyLib属性 切换到“生成”选项卡,在底部位置,勾选“为COM互操作注册” 切换到“签名...
VBS调用ATL编写的COM组件
参考文章:http://blog.csdn.net/collin1211/article/details/1864624 不使用连接点,而是使用属性来处理事件回调。 IDL<em>文件</em> import "oaidl.idl"; import "ocidl.idl"; [ object, uuid(7E153966-BF67-4F02-BE64-80CB780A2EEF), dual, n
详解VB调用C#类库的方法步骤
使用c#语言在.net平台生成的<em>dll</em>是基于MSIL的二进制代码,通常情况下是无法被native的语言和程序<em>调用</em>的(例如vb,vc,delphi)。但是一般来说windows上native的程序都是可以直接使用<em>com</em>对象的。通过.net平台提供的一些工具,可以为其伪造一个<em>com</em>接口并注册到系统中。此时,可以在native的程序里,通过这个伪<em>com</em>接口来实现此.net的<em>dll</em>的<em>调用</em>。 vb<em>调用</em>
关于C#操作PPT时遇到的“对COM组件的调用返回了错误HRESULT E_FAIL”错误的解决方法
最近在做一套和图书有关的项目,其中有一个功能为用户上传的各类文档(doc、docx、ppt、pptx、pdf等类型)统一转换为PDF类型。word格式的转为PDF就不用说了,推荐一个第三方DLL:Aspose.Words.<em>dll</em>. Aspose这套DLL专门用来对付Office的,想必不少人都用过,很方便,例如word转pdf: 搞定。 以上是题外话。 很可惜Aspose我没找到操作p
c++中调用Com组件的方法详解
 转载自:http://www.cppblog.<em>com</em>/woaidongmao/archive/2011/01/10/138250.html 需求: 1.创建myCom.<em>dll</em>,该COM只有一个组件,两个接口:    IGetRes--方法Hello(),    IGetResEx--方法HelloEx() 2.在工程中导入组件或类型库  #import
vbs脚本中引用dll的方法
1、注册dynwrap.<em>dll</em> copy dynwrap.<em>dll</em> c:\windows\system32\ regsvr32 c:\windows\system32\dynwrap.<em>dll</em> /c 2、包装方法 Function SendMessage(str_Handle,msg,wParam,lParam)  Dim oWsm  Set oWsm=CreateObject("dy
总结一下在VC中调用COM组件的方法+++VC调用远程COM+组件
总结一下在VC中<em>调用</em>COM组件的方法 准备及条件: COM服务器为进程内服务器,DLL名为simpCOM.<em>dll</em>,该组件只有一个接口IFoo,该接口只有一个方法HRESULT SayHello(void) 在SDK中<em>调用</em> ===================================== 一、最简单最常用的一种,用#import导入类型库,利用VC提供的智
PHP调用DLL
[paragraph] 测试环境:windows 2003 Server + IIS6 (PHP)+VS2005 一、建立ATL工程 1、打开VS2005,新建空项目,我们这里建NFS(图1) 2、在解决方案中,添加 &gt;&gt; 新建项目,命名:nfs,并选择DLL方式,如图2、图3 3、打开类视图,在nfs节点上点击鼠标右键,选择 添加 &gt;&gt; 类,在这里我
C# 使用Com组件正确的释放方法
看别人代码发现的问题Com组件释放有问题,希望大家不要犯各种低级错误了.正确的释放方法如下: public static void ReleaseComObject(object obj) { int result = 0; do { result = Marshal.ReleaseComObject(obj); } w...
php调用DLL(COM)注意事项
PHP<em>调用</em>DLL(COM)注意事项:1、函数的参数中,最后一个参数函数是返回值,须是retval类型的。2、向接口传字符串类型的参数时,不要用BSTR*类型的,而用BSTR,因为BSTR本身已经是指针了。3、PHP中的数字0并不<em>对应</em>C/C++中的0或NULL,而是另有其值。4、PHP中的空字符串""并不<em>对应</em>C/C++中的NULL,最好用计算其长度是否为0来判断是否为空串。5、向外输出的接口如果能放在一个类中,最好都放在一个类中。曾经在输
使用Geoprocessor导出ArcSde中的数据,对COM 组件的调用返回了错误 HRESULT E_FAIL 的解决方法
方法exportSDE在VS中调试没有问题,发布到IIS后,则报错误:对COM 组件的<em>调用</em>返回了错误 HRESULT E_FAIL 。google后发现解决问题的方法千篇一律,没一个管用的。后来在http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=69628 处搜索到一问题,随试了一下创建临时连接<em>文件</em>,得以解决。    
Qt调用Delphi编写的COM组件
这个问题捣鼓了两天,现在终于解决了,做个笔记分享给大家,以免走弯路 起初,我的想法是在DLL中写一个interface并从函数中导出这个interface,像<em>这样</em>的代码 ICom1 = interface function Show(V1, V2: Integer): Integer stdcall; end; 最后均以失败告终,后来想到各种编译器对编译后的二进制组织方式是不同的 比
如何用RegAsm.exe在开发/生产环境中注册C#/VB.NET开发的DLL
原文地址:http://www.geeksengine.<em>com</em>/article/register-<em>dll</em>.html 感谢原作者 创建C#或VB.Net DLL后,您需要在目标计算机上注册。 您可以使用Microsoft的RegAsm.exe实用程序。 Regasm.exe是一个程序集注册工具,用于读取程序集中的元数据。并将所需的项添加到注册表中。注册表允许允许COM客户端(VB6应用程
在VC中调用VB编写的COM组件范例
VB<em>调用</em>VC的DLL大家应该不陌生,而VC如何<em>调用</em>VB编写的DLL这个问题对于搞VB开发的人来说可能却<em>就是</em>个问题。为了广大的VB爱好者向VC进军,我就从VB开发者的角度来说说在VC中<em>调用</em>VB编写的COM组件的方法。我举个例子。 先说说VB开发一个COM组件。 用VB新建一个ActiveX DLL 工程, 然后修改工程名称为 MyVB 再修改默认的类名为 DEMO 然后再向类中添加一个函数作为测试用
COM组件注册方法(VC++)
1、打开VC的属性界面进行设置 2、注册DLL到系统 CString szInfo, szPath; char cPath[MAX_PATH] = {0}; GetModuleFileNameA(NULL, cPath, MAX_PATH); szPath += cPath; int nFind = szPath.ReverseFind('\\'); if (nFind >
COM组件开发(四)——VC++调用COM组件的方法
ActiveX 控件          对于ActiveX控件,可以在Visual Studio中使用ClassWizard的方法引入,在MFC项目中选择菜单“项目”——> “添加类”——>“ActiveX控件中的MFC类”,然后可以分别从注册表和<em>文件</em>两种方式中选择自己想要的组件。选择注册表中的方式获取的都是在本系统中注册了的组件,而<em>文件</em>则是从磁盘目录下获取COM组件。 代
COM组件技术在Linux C++下的使用例子
COM的接口 看了Window下的COM组件知识后,就想在Linux下 模仿写一个Com相关的例子,这几天刚好有时间,就写了一个小例子,现在把它分享出来,希望各位能提出宝贵的意见
生成COM Dll的tlb文件的方法
需要将COM编译生成的DLL<em>文件</em>转换成TLB<em>文件</em>,方法如下 Step1:直接使用:Visual Studio打开<em>dll</em><em>文件</em>,注意在打开<em>文件</em>对话框中一定要选择Resource方式 Step2:找到资源中的TypeLib,其中的<em>文件</em>可以Export成bin,这个bin<em>就是</em>tlb Step3:保存的时候将扩展名指定为tlb即可。   使用Visual Studio的Obje
c++简单的ATL COM开发和调用实例
1、打开VS2010,新建ATL COM 项目,步骤:“<em>文件</em>” --》“新建” --》“项目”,选择“Visual C++” --》“ATL 项目” ,填写“名称” FirstCOM --》“确定”。 2、ATL 项目向导,勾选 【支持COM+ 1.0】和【支持部件注册器】,其他默认,点击完成。 3、切换到类视图,右键单击项目“FirstCOM”--》“添加”  --》“类”。
COM组件和DLL的区别
这阵子在想一个需要利用<em>com</em>组件的小程序怎么做,突然想起上次去面试的时候考官问过autocad开发时为什么要利用<em>com</em>,而不采用一般的<em>dll</em>呢?     到google上查了一下,许多人也问了一样的问题:)     用<em>com</em>来写程序要比普通的<em>dll</em>麻烦一些,但是带来的好处也大很多,尤其是在开发像autocad<em>这样</em>大型软件的时候,需要跨区域来协同工作。 “学习COM,首先要知道COM的目的是什么,它
c++ 调用com组件步骤
实现步骤具体如下: 1、保证<em>com</em>组件注册成功; 2、#import "<em>对应</em>的<em>com</em>组件DLL"      using namespace 命名空间; 或者 no_namesapace; 3、从注册表中找到<em>对应</em>的CLSID      CLSID clsid;       HRESULT hr = CLSIDFromProgID(OLESTR("注册表中<em>对应</em><em>com</em>组件实现类"), &cl
C# 写的32位COM组件,如何在64位系统上注册
之前,用c#写了一个COM组件,可以被Delphi的程序<em>调用</em>,而且已经使用在几个项目中,部署环境在XP和WIN7 32位都可以正常运行. 但最近一个项目,部署环境是WIN7 64位系统.使用写好的bat<em>文件</em>注册不成功, 运行到 RegAsm 时,总时提示 无法定位输入程序集 '....<em>dll</em>'或它的一个依赖项. 看了下RegAsm的命令: %WINDIR%\Microsoft.NE
delphi7 如何加载com组件
1、通过omponent--Import ActiveX control 导入 USBKeyPnPActiveX.ocx2、通过project-- Import Type Library 导入 BJCASecCOM.<em>dll</em>3、USBKeyPnPActiveX.ocx、BJCASecCOM.<em>dll</em>安装在C:/WINDOWS/system324、需要安装Delphi补丁包 
jacob调用com组件
<em>com</em>组件可以存在exe,或者<em>dll</em>中,而且对vb,vc,delphi等语言提供了统一的<em>调用</em>,而<em>dll</em>只能存在于<em>dll</em><em>文件</em>中,而且不同语言<em>调用</em>方式不一样,<em>com</em>组件开发难度相对于<em>dll</em>较大,多用于大型项目中。 java主要使用jacob来<em>调用</em><em>com</em>组件。 1.注册<em>com</em>组件(这里使用大漠插件dm.<em>dll</em>) regsvr32 dm.<em>dll</em> 另外regsvr32 /u dm.<em>dll</em> 代表卸载c
JavaScript学习笔记之JavaScript调用C#编写的COM组件
1、新建一个C#类库项目:MyCom; 2、修改 Properties 目录下的 AssemblyInfo.cs(程序集<em>文件</em>) 中的 ComVisible 属性为 true; 3、项目->属性->生成,勾选 “为COM互操作注册” ; 4、项目->属性->签名,勾选 “为程序集签名” ,在下面的 “选择强名称秘钥<em>文件</em>” 下选择新建,在弹出的 窗口中的 “秘钥<em>文件</em>名称” 添加一
java调用C#封装的dll(jna,com)
java<em>调用</em>C#封装的<em>dll</em>(jna,<em>com</em>)java<em>调用</em>C#封装的<em>dll</em>(jna,<em>com</em>)java<em>调用</em>C#封装的<em>dll</em>(jna,<em>com</em>)
C++和C#相互调用COM组件的方法简介
 1、在VS2005中,C#编写DLL并使用C++<em>调用</em> 2、在VS2005中C#编写的COM组件,使用VC6.0<em>调用</em> 3、在VC6.0中编写COM组件,使用VS2005 C#<em>调用</em> 4、在VC6.0中编写COM组件,使用VC6.0<em>调用</em> 其中每个类型都写了两个程序,一个为COM组件程序,一个为C++和C#相互<em>调用</em>COM组件<em>调用</em>程序 程序实现: 1、在VS2005中
不注册dll调用atl实现的com对象
最近做一个通用的<em>com</em>组件<em>调用</em>框架,用一个注册好的factory.<em>dll</em>去创建另一个<em>com</em>.<em>dll</em>里面的接口,返回这个接口给脚本语言用; 结果发现如果是delphi写的<em>dll</em>,没有问题,如果是atl实现的<em>dll</em>,则会报TYPE_E_LIBNOTREGISTERED错误,让我十分郁闷,今天下决心解决,于是跟踪看了下atl<em>com</em>.h里的代码,发现是GetTI这函数在作怪,代码如下所示 ITypeL
基于MATLAB R2009a 的COM组件与VC编程体会
基于matlab的<em>com</em>组件开发,生成<em>dll</em><em>文件</em>,VC下<em>调用</em>,步骤详细,与代码matlab <em>com</em> VC.zip配套,对VC与matlab <em>com</em>之间参数传递有数组的例子。
C#调用PB写的com组件dll
背景 小编为了使用C#去模仿PB代码的加密算法,结果发现PB算法中,的long类型只有21亿,实际上传入的数值达到了78亿,造成了数据溢出,精度丢失的情况。 然而PB的算法已经使用C#不可以还原(C#的long类型比PB的long类型大多了)。想到是否可以使用C#去<em>调用</em>PB的加密,经过一番波折终于成功了。 先来一张最终效果图: C# PB: 步骤 首先得PB去生成CO
完美终结:VB6多线程-标准DLL开发-内存加载控件,免注册调用Com对象
这几天技术上有了重大的突破,日夜研究2周了。 exe上的多线程几年前就弄稳定了,基本没问题。 VB6做的标准DLL给VC和其他语言使用,要么<em>调用</em>时就崩了,要么<em>调用</em>完退出进程时崩了。 今天基本解决这个问题了,一种方法是退出前强制自动结束进程,把崩溃让你看不到,也是一种方法。 另一种<em>就是</em>找到了一个奇怪的问题,<em>调用</em>其中一个API加载一下DLL中窗体,不显示出来都行,然后再关闭进程就没事了,想不通...
C++调用C# com组件:一个完整的的小例子
我们知道C#开发效率是非常高的,特别是做一些漂亮的页面就更适合用它了啊.如果你开发一个桌面应用程序即想性能好点又想页面漂亮点可以考虑用C++和C#一起用.反正现在Win7都集成NetFramework了,就不用纠结为了装个C#的应用程序而去再整个NetFramework装上.可以用C#做成<em>com</em>组件,然后C++去<em>调用</em>.反过来也行.可以C++做成<em>com</em>,然后C#来<em>调用</em>. 下面我举个简单的小例子
怎样用DELPHI调用COM组件
在Delphi中的话,创建一个工程后,菜单Project下有一个Import   Type   Library选项,     点击进入,选择你用VC编写的<em>dll</em>的Type   Library,将其创建后,会产生一个XXXX_LIB,     XXXX会根据组件的不同而不同,在你的工程内Uses这个XXXX_TLB,<em>这样</em>你就可以在你的     工程内<em>调用</em>了,例如:     procedure   x
一个简单示例:利用jawin完成调用window中dll调用
最近由于项目的特殊需求,我们必须在程序<em>调用</em>window的<em>dll</em>。开始我们用jni,后来由于<em>调用</em>的<em>dll</em>太多,而且很烦琐。所以,我们决定用开源的jawin<em>调用</em>。jawin 可以对<em>dll</em>中的方法进行<em>调用</em>,也可以<em>调用</em><em>com</em>中的方法.内部还提供了一个工具,直接对 <em>com</em>组件导出成 java的类,个人认为很方便。下面是我们作的一个测试,很顺利便通过了。1、下载jawin:http://jawinprojec
c++如何采用com组件的方法直接调用动态库
<em>com</em>组件方法<em>调用</em><em>dll</em>
对COM组件的调用返回了错误HRESULT_FAIL
DONET中引用第三方控件时发生错误"对COM组件的<em>调用</em>返回了错误HRESULT_FAIL" 原因是项目中没有CONFIG,添加一个web.config就OK了
自制作COM组件的实现和调用
本例实现COM组件的开发示例,并将COM组件以DLL库存储,用户程序通过对DLL<em>调用</em>,实现COM开发的例子。全部开发基于Win32控制台,避免<em>调用</em>MFC<em>这样</em>使该例的示范性更加明淅。
关于Dll、Com组件、托管dll和非托管dll的理解
Com组件和<em>dll</em>区别: 1.普通<em>dll</em>不能通过regsvr32.exe来注册,而Com组件能通过regsvr32.exe注册。  2.Com组件是微软的一个协议,满足<em>com</em>组件协议的<em>dll</em><em>文件</em><em>就是</em><em>com</em>组件,这种协议为了跨语言、跨平台使用,<em>dll</em>组件需要编译后使用,而Com组件注册后即可使用。 而<em>dll</em>是动态链接库,是一个可以导出函数的集合。 3.Com组件可以是exe也可以是<em>dll</em><em>文件</em>
C#封装COM,C++调用
开题:已给C#编译的动态库,需要将模块集成到软件中。由于原有的软件版本较老(VC6.0开发),只提供了C#的DLL库,尝试许多方法失败,最后采取的方法是:将C#的DLL库使用C#封装成COM组件,以便C++来<em>调用</em>。一、封装COM1、创建工程    在C#工程里,选择“类库”创建完成后有几点注意:    ID可以使用VS里面“工具-&amp;gt;创建DUID”COM互操作选上,以便生成***.tlb<em>文件</em>(...
上传word文档并读取word调用com组件遇到的问题
开始写上传文档并读取的的时候是<em>调用</em><em>com</em>组件,中间遇到了很多坑,总结一下//传文档所在路径 返回文档内容 public string Doc2Text(string docFileName) { //实例化COM Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word
静态链接库、动态链接库与COM组件的区别
静态链接库、动态链接库与COM组件的区别 1.动态链接库与静态链接库的区别。  1.1 静态链接库作为代码的一部分,在编译时被链接。     1.2 动态链接库有两种使用方式:       一种是静态加载,即在应用程序启动时被加载;       一种是动态加载,即是该动态链接库在被使用时才被应用程序加载。 2.动态链接库和COM组件的区别      2.1 动态链接库的表现形式只
C# 通过反射调用com组件
C# 通过反射<em>调用</em><em>com</em>组件,封装了几个简单的方法方便使用反射<em>调用</em><em>com</em>。 var obj=new ComObj("excel.application"); obj["Visible"]=true; obj. InvokeMethod("Application.Workbooks.Open", fileName);
免注册调用com组件类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.InteropServices; using System.Security; using System.Runtime.Co
NET中如何引用COM组件
如果您是初次学习.NET,说不定会尝试着去学习怎样使用COM组件,为了让您少走弯路,我把我所遇到的问题写下来,与大家共享。同时也希望与您一起交流,共同提高。联系方式:电话:0571-88021712 转技术研发部,吕先生,QQ:120589204,E_mail:lbl682@163.<em>com</em>下面举两个例子吧:(一)、引用Oracle,即使用using System.Data.Oracle
IIS调用COM组件的权限问题
情形1 问题描述 C#.NET编写了一个webservice的接口,供公司的的其他地方发送和接收短信(采用的方式是:再服务器上安装
C#调用手动编写的COM组件(非ATL向导生成,参考上一篇手把手写COM组件)
C#<em>调用</em>手动编写的COM组件 (非ATL向导生成,参考上一篇手把手写COM组件) 手动创建一个非ATL向导生成的COM组件,添加的接口定义<em>文件</em>MyIDL.idl代码如下:(修改自“COM原理与应用源代码\ch3\DictComp\"例子) import "oaidl.idl"; import "ocidl.idl"; #include typedef unsigned short
java调用com组件方法
对照vb代码实现java<em>调用</em><em>com</em>组件方法 2009-03-02 14:39 1.简介  java<em>调用</em><em>com</em>组件方法,最简单的方法莫过于使用JACOB控件。 JACOB<em>就是</em> JAVA-COM Bridge的缩写,提供自动化的访问<em>com</em>的功能,也是通过JNI功能访问windows平台下的<em>com</em>组件或者win32系统库的。这是一个开始于1999年的开源项目的成果,有很多使用者对该项
ABAP 调用 DLL文件
有时外部程序<em>调用</em>SAP 的RFC, 实现与SAP程序的接口, 是以外部程序为主; 现在终于找到以SAP程序为主<em>调用</em>外部程序的方法了. <em>就是</em>SAP 的ABAP语言<em>调用</em> DLL<em>文件</em>中的函数实现一些功能, 例如可以用DLL<em>文件</em>连接外部数据库读取数据. 我在网上找了好久,都没有一个完整的答案, 也没有一个完整的实例, 根据网上的各种说法, 我整合到一起, 终于成功, 原来这么简单
免注册COM使用参考
免注册COM在使用时要使用<em>文件</em>清单(manifest<em>文件</em>),<em>文件</em>清单在使用时可分为两种: 1.程序清单: 指明程序包含哪些依赖组件。 C\C++的程序清单信息可在项目属性中编辑,用于自动生成。 C#的程序清单暂时没找到自动生成的办法,使用VS本身提供的清单生成工具生成的清单无法正确使用。因此只能手动编写。 2.组件清单: 指明组件(DLL)的COM相关信息,GUID等信息,基本和注册在
python调用windows下的com组件
最近弄<em>com</em>,测试用js 或者c++、c#等,感觉很不方便,一来是需要编译,二来c++之流还要引用库,很不爽,于是用 python搞了一把,发现很容易,写完就可以立马运行,随时可以修改。记录于此,以后备用。 首先到https://pypi.python.org/pypi/<em>com</em>types,下载<em>com</em>types,国外地址访问有点慢,我下了一个放华为网盘备用了,地址为http://dl.vmall.
PB 调用.NET COM组件
今天需要作一下pb引用.net的外接程序类。反复测试都没有成功。看到这篇文章解决了我的问题。在此感谢。综合我的碰壁经验。需要注意以下两点。 1..net项目需要勾选生成 <em>com</em>组件。 2.在类名前加上标识。 以下是对原文章的转载: http://blog.sina.<em>com</em>.cn/s/blog_53d716150100kp2k.html **************
vs2010 .vb如何生成类库(DLL)
vs2010 vb如何生成类库(DLL) 1.打开VS2010,<em>文件</em>,新建项目-visual basic -windows-类库 .vb如何生成类库(DLL)" TITLE="vs2010 .vb如何生成类库(DLL)" /> 2.把已经调试编写好的类库拷贝到当前类<em>文件</em>中,保存 3.设置根命名空间,编程时imports 引用的是命名空间的名字,不是类名,所以,要定义好自己的命名空间名字和根命名
AE+C#把数据写入GDB数据库里出现 “对COM组件的调用返回了错误 HRESULTE_FAIL”
public void CreateFeatureClass_Terrain_Info(IFeatureWorkspace IFW) { IFeatureClass tempFeatureClass = IFW.OpenFeatureClass(StringDBName_Terrain_Info); //设置名称 (写入数据库的数据) ...
调用返回了错误 HRESULT E_FAIL"的解决方法">"对COM 组件的调用返回了错误 HRESULT E_FAIL"的解决方法
有时<em>调用</em><em>com</em>组件时,会返回“HRESULT E_FAIL”错误,这时有可能的错误原因除了代码有错外,另一个原因还可能是我们没有正常配置d<em>com</em>的属性。如果是后者,我们可以按如下的方法来解决错误:   1)确保“Distributed Transaction Coordinator”服务是开启的。   2) 在运行中录入“d<em>com</em>cnfg",打开组件服务字符串,选择组件服务-计算
调用DllRegisterServer方法进行COM组件的注册
<em>调用</em>DllRegisterServer方法进行COM组件的注册一个替代“regsvr32.exe"COM组件注册工具的方法是手动<em>调用</em>COM模块中的DllRegisterServer.步骤如下1. 定义DllRegisterServer的函数指针类型2. <em>调用</em>LoadLibrary()加载COM模块3. <em>调用</em>GetProcAddress()获得DllRegisterServer的地址4. 调
C# 互操 调用COM组件
本专题概要: 引言如何在C#中<em>调用</em>COM组件——访问Office 互操作对象在C# 中<em>调用</em>COM组件的实现原理剖析错误处理小结   一、引言   COM(Component Object Modele,组件对象模型)是微软以前推崇的一个开发技术,所以现在微软的很多产品都用到了COM组件,如Office,IE 等。然而如果.NET 平台下的程序想访问COM组件的方式来实现某个功能怎么办呢
用 SQL Server 2008 R2 打开 .sql 文件时提示“对COM组件的调用返回了错误HRESULT E_FAIL”
解决办法:1 开始-管理工具-服务 中,开启Distributed Transaction Coordinator 服务。如果Distributed Transaction Coordinator 服务 无法开启解决办法:1,Distributed Transaction Coordinator服务依存于 Remote Procedure Call(RPC)和 Security Acc
【PB】pb9中COM的创建和调用
创建方法:   1, 创建一个workspace   2, 在workspace下创建一个application ( 假设名字为:myapp)   3, 创建custom class, 在custom class 中可以创建 function   4, 创建 project    要选择 COM/MTS/COM+ Component Wizard    填写 Project 名
解决:对COM组件的调用返回了错误HRESULT E_FAIL
第一部分 <em>调用</em>SHDOCVW(web浏览器) COM组件的时候,返回了错误 HRESULT E_FAIL。总结如下: 1. 在控制面板-管理工具-服务 中,开启Distributed Transaction Coordinator 服务 。 2. 打开控制面板-管理工具-组件服务-选择计算机-我的电脑-右击 属性-选择MSDTC--
Windows下使用Python调用com组件
1、下载pywin32 下载地址:点击下载 根据Python版本号下载<em>对应</em>的版本,注意:这里的32位和64位指的是Python,而不是操作系统。 安装过程中会检测本机已安装的Python,如果找不到,<em>就是</em>pywin32的版本下错了。 安装完成后,会在Python的根目录下的/Lib/site-packages/下生成win32、win32<em>com</em>和win32<em>com</em>ext三个<em>文件</em>夹。里面都有De
C++ COM实现之一 创建一个DLL
C++ COM实现之一 创建一个DLL COM是一种接口技术,它提供了一种方法用于客户程序进行<em>调用</em>。COM原理和技术的文章已经很多了,就不过多讲解了,这里只注重实现。下面分几步对进程内COM组件进行编码实现以达到对实现一个COM的清晰的认识,目的是通过COM接口方法<em>调用</em>DLL中的函数。 首先,创建一个标准的win32 DLL项目my<em>com</em>,<em>dll</em>main入口实现如下: [c-sharp] view plaincopy 1. DWORD g_dwAttachedProcesses = 0L; // # of attached processes 2. DWORD g_dwPageSize = 0L; // System page size 3. HINSTANCE g_hInstance = 0L; // Instance Handle 4. LONG g_cLock = 0L; // # of outstanding objects 5. BOOL APIENTRY DllMain( HMODULE hModule, 6. DWORD ul_reason_for_call, 7. LPVOID lpReserved 8. ) 9. { 10. BOOL fRetVal = FALSE; 11. SYSTEM_INFO SystemInformation; 12. switch(ul_reason_for_call) 13. { 14. case DLL_PROCESS_ATTACH: 15. // Assume successfully initialized 16. fRetVal = TRUE; 17. // Do one-time initialization when first process attaches 18. if(!g_dwAttachedProcesses) 19. { 20. g_hInstance = (HINSTANCE)hModule; 21. // Get the system page size 22. if(!g_dwPageSize) 23. { 24. GetSystemInfo( &SystemInformation ); // can't fail 25. g_dwPageSize = SystemInformation.dwPageSize; 26. }
DLL入门浅析 - 多进程加载DLL内存模型
DLL入门浅析(5)——使用DLL在进程间共享数据          在Win16环境中,DLL的全局数据对每个载入它的进程来说都是相同的,因为所有的进程用的都收同一块地址空间;而在Win32环境中,情况却发生了变化,每个进程都有了它自己的地址空间,DLL函数中的代码所创建的任何对象(包括变量)都归<em>调用</em>它的进程所有。当进程在载入DLL时,操作系统自动把DLL地址映射到该进程的私有空间,也<em>就是</em>
如何正确的在VBA/VB中引用C#/VB.NET开发的DLL
原文地址:http://www.geeksengine.<em>com</em>/article/reference-<em>dll</em>.html感谢原作者的文章。 如果需要使用在C#或VB.Net创建一个DLL在Access VBA时,Excel VBA,或用于生产的机器上VB6应用程序,本文向您介绍如何注册,参考,并<em>调用</em>从VBA或VB编辑器中的DLL。 你已经正确安装并注册组件? 首先,你需要获取的C#/VB
VC调用COM组件的几种方法
这篇的内容也是我在使用COM组件的时候遇到困难后在网上找的一些<em>调用</em>的方法,以备后用。 1.首先创建一个COM组件:myCom.ocx    组件里面有一个普通接口:ImyCom   一个方法为:Hello(); 事件接口:ImyComEVT   一个事件为:HelloEvt();
C#创建COM组件,并在ASP、PHP中调用方法
1、新建项目        -- 选择Visual C# - 类库        -- 项目名称:如 SendMailLib        -- 去掉选中项 ”为解决方案创建目录”        -- 修改<em>文件</em>名Class1.cs 为 SendMail.cs (类名称自动更改为 SendMail) 2、修改项目 - 属性       -- 应用程序          目录框架
.net 中动态调用DLL总结
VB.net 版本 注意:下面的Dll<em>文件</em>必须是用托管代码写的,否则请使用API的相应函数进行动态加载。 一、 比如我事先写了一个类,如下: Public Class TestClass     Public Function Add(ByVal add1 As Integer, ByVal add2 As Integer) As Integer      
文章热词 3d相机标定极对极几何 IPFS个人博客搭建新增文件 机器学习 机器学习课程 机器学习教程
相关热词 vb.net的com vc++调用 c++ 调用com组件 c# com 调用pb c#调用 com 有区块链培训吗 python有培训班吗
我们是很有底线的