请教C#与COM传参问题 [问题点数:100分]

Bbs1
本版专家分:1
结帖率 91.3%
Bbs11
本版专家分:266089
版主
Blank
进士 2006年 总版技术专家分年内排行榜第四
Blank
金牌 2006年4月 总版技术专家分月排行榜第一
Blank
铜牌 2006年3月 总版技术专家分月排行榜第三
Blank
微软MVP 2014年1月 荣获微软MVP称号
2009年1月 荣获微软MVP称号
2013年1月 荣获微软MVP称号
2012年1月 荣获微软MVP称号
2010年1月 荣获微软MVP称号
2011年1月 荣获微软MVP称号
2006年1月 荣获微软MVP称号
2005年1月 荣获微软MVP称号
2008年1月 荣获微软MVP称号
2007年1月 荣获微软MVP称号
2004年1月 荣获微软MVP称号
其他相关推荐
问题请教工程,问题请教工程
问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,
如何请教别人问题
提问的智慧。
英文邮件礼仪:向教授请教学术问题
英文邮件礼仪:向教授请教学术问题   邮件主题 邮件主题(subject)不需要写自己的名字。名字是在邮件系统设置里设定好的,在发件时会替换显示实际地址,所以无需在主题里再写一遍。 [关键内容是要在主题里就写明白是否有推荐人,以及主要是什么事。很多教授只看主题。]   一个好的标题,要能简洁地概括邮件的目的或内容。如果你对教授的某个研究项目感兴趣,就可以用这个研究方向作标题,例如"De
问题请教高手
问题请教高手问题请教高手
C++与C#交互的参数传递
C++、C#交互有三种方式: 1 COM 2
讨论学术问题的英文邮件模板
学术问题的英文邮件模板,根据此可以向老外要文章等资源
程序员应该如何去请教别人问题
程序员应该如何提问
C# 制作Com组件:java调用.net DLL的方法
巧用C#做中间语言 实现Java调用.net DLL.本文将详细为大家介绍一个java调用.net DLL的方法,以实现特殊的客户的特殊要求:“在Java项目中必须使用其提供的用.net写的DLL加密机制!”环境与工具:◆.net framework 3.5 C#◆java jdk1.5, Tomcat 5.5◆jacob-1.15-M3实现例子:一、C# 制作Com组件新建一个Class 项目,...
分析java的传值问题
java传参问题,通过对原始类型的传参和对应用类型的传参分析java的传值问题
请教C语言问题
请教C语言问题
基于COM组件方式读取Excel文件内容(C#版)
新建Win32 Console Application (C#),添加COM引用Microsoft Office Rxcel 15.0 Object Library (Offic)
邮件发送问题
邮件发送问题请教
请教中文短信问题
用了HellpSms的例子,发了短信,用的中文编码是unicode,但是收到的是乱码,请问有没有人遇到过? 谢谢.  SMS_HANDLE smshHandle;     SMS_ADDRESS smsaSource;     SMS_ADDRESS smsaDestination;     TEXT_PROVIDER_SPECIFIC_DATA tpsd;     SMS_MESSAG
请教一个对象交换的问题
C# 使用Com组件正确的释放方法
看别人代码发现的问题Com组件释放有问题,希望大家不要犯各种低级错误了.正确的释放方法如下: public static void ReleaseComObject(object obj) { int result = 0; do { result = Marshal.ReleaseComObject(obj); } w...
C# winform 窗体之间传参
C# winform 窗体之间传参
如何处理工作中同事的吝于赐教?
在IT工作的5年开发工作中,我还是第一次碰到我求助别人,可是别人却对你吝于赐教。真受不了。我以前是做代码开发的,我的同事和我一样,对别人的求助都是耐心指导。可是现在我开始做测试,我发现我向某几个人请教问题时,却发现他们要么不回答你,要么对你进行敷衍,好像害怕别人懂得比他多似的。 开发和测试有这么大区别么?大家有遇到类似情况么?我觉得只有在某些国企才有可能遇到这种情况,在那里做事
如何使用邮件提问问题
-
如何向大牛提问?
以最合理的方式向那些大牛们提问
解决IIS对COM组件的访问异常
在C#操作word或者Excel,我们可能会用到微软内置的COM组件,会出现很多问题。 如:在本地调试导出Excel没有问题,发布到IIS就有问题了,检测到的异常: 我们会发现在iis上运行的程序,没有打开word的进程。 因为你vs是管理员权限,而iis没有权限。 所以这要提高iis的权限。 启动IIS,应用程序池-“选定的应用程序池”-高级设置-进程模拟-标识: 选择自
C#写的打字游戏
C#写的打字游戏 向大家请教
C#中WinForm子窗体如何向父窗体传参
C#中WinForm子窗体如何向父窗体传参 form.DialogResult=DialogResult.OK 返回DialogResult时传参
序列化与反序列化demo
C# xml文档序列化及反序列化demo,方法一反序列化标签,方法二反序列化节点,无法反序列化数组。如有问题,虚心请教
jquery.params.js
通过url传参,直接用JQuery自带的插件,一句话搞定传参问题
COM(C#串口通信程序实例)
COM(C#串口通信程序实例)COM(C#串口通信程序实例)COM(C#串口通信程序实例)COM(C#串口通信程序实例)
C# 操作excel 常见问题解决方案
1、C#与excel互操作的错误无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制 如果您使用的电脑要操作的是office2003而之前使用过office2007使用此方法可解决您的问题 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强
C++和C#相互调用COM组件的方法简介
 1、在VS2005中,C#编写DLL并使用C++调用 2、在VS2005中C#编写的COM组件,使用VC6.0调用 3、在VC6.0中编写COM组件,使用VS2005 C#调用 4、在VC6.0中编写COM组件,使用VC6.0调用 其中每个类型都写了两个程序,一个为COM组件程序,一个为C++和C#相互调用COM组件调用程序 程序实现: 1、在VS2005中
C#如何编写调用COM组件的程序
VS C#.net如何编写调用COM组件的程序? 请给出一个开发过程的例子. 我引用了一个MS 的Rich Edit的Com组件,在WebForm1.aspx中却没有该组件的名称,我给组件一个Id(RichEdit1),还是无法应用,请高手指点. 谢谢! --------------------------------------------------------------- 首先感谢您使
C# 互操 调用COM组件
本专题概要: 引言如何在C#中调用COM组件——访问Office 互操作对象在C# 中调用COM组件的实现原理剖析错误处理小结   一、引言   COM(Component Object Modele,组件对象模型)是微软以前推崇的一个开发技术,所以现在微软的很多产品都用到了COM组件,如Office,IE 等。然而如果.NET 平台下的程序想访问COM组件的方式来实现某个功能怎么办呢
c#调用com问题请教
各位:rn 厂家提供了一个dll,需要用regsvr32先注册,然后再调用。rnrn我按照说明,先用regsvr32注册了dll,用VB的话调用没有问题,但用c#调用就报异常。rn具体如下:rnrn接口方法说明:rn1、Login(网络服务器, 数据库名字, admin的密码, 返回的错误信息)rn作用:登陆系统,调用其它方法前必须先调用它rn返回值:0 - 成功,1 - 密码不正确,2 - 人员不存在rnrnVB代码(测试通过):rn[code=VB]rnSub test()rn Dim obj As Objectrn Dim sErr As Stringrn Set obj = CreateObject("OperatorManager.OperManager", sErr)rn s = obj.Login("127.0.0.1", "test2", "admin", sErr)rn MsgBox srn MsgBox sErrrn Set obj = NothingrnEnd Subrnrn[/code]rnrnc#代码(报异常):运行到oType.InvokeMember("Login", System.Reflection.BindingFlags.InvokeMethod, null, o, parts);rn时报异常"调用的目标发生了异常"rnrn[code=C#] rnrnSystem.Type oType = System.Type.GetTypeFromProgID("OperatorManager.OperManager");rn rn object o = System.Activator.CreateInstance(oType);rnrn string[] parts = new string[4];rn parts[0] = "127.0.0.1";rn parts[1] = "test2";rn parts[2] = "admin";rnrn oType.InvokeMember("Login", System.Reflection.BindingFlags.InvokeMethod, null, o, parts);rn MessageBox.Show(parts[3]);rn[/code]rnrnrnrn异常详细信息为:rn未处理 System.Reflection.TargetInvocationExceptionrn Message=调用的目标发生了异常。rn Source=mscorlibrn StackTrace:rn 在 System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)rn 在 System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)rn 在 System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args)rn 在 TestService.Form3.button1_Click(Object sender, EventArgs e) 位置 E:\TestService\Form3.cs:行号 62rn 在 System.Windows.Forms.Control.OnClick(EventArgs e)rn 在 System.Windows.Forms.Button.OnClick(EventArgs e)rn 在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)rn 在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)rn 在 System.Windows.Forms.Control.WndProc(Message& m)rn 在 System.Windows.Forms.ButtonBase.WndProc(Message& m)rn 在 System.Windows.Forms.Button.WndProc(Message& m)rn 在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)rn 在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)rn 在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)rn 在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)rn 在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)rn 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)rn 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)rn 在 System.Windows.Forms.Application.Run(Form mainForm)rn 在 TestService.Program.Main() 位置 E:\TestService\Program.cs:行号 18rn 在 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)rn 在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)rn 在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()rn 在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)rn 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)rn 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)rn 在 System.Threading.ThreadHelper.ThreadStart()rn InnerException: System.Runtime.InteropServices.COMExceptionrn Message=灾难性故障 (异常来自 HRESULT:0x8000FFFF (E_UNEXPECTED))rn Source=""rn ErrorCode=-2147418113rn InnerException: rn
Dll Hell问题解决方案
原作者:Ivan S Zapreev      译者:陆其明      概要      本文将要介绍DLL的向后兼容性问题,也就是著名的“DLL Hell”问题。首先我会列出自己的研究结果,其中包括其它一些研究者的成果。在本文的最后,我还将给出“DLL Hell”问题的一个解决方案。      介绍      我曾经接受过一个任务,去解决一个DL
c#操作excel时出现COM异常,解决方法
之前再使用vs2013中操作excel总是出现异常: System.Runtime.InteropServices.COMException (0x80040154): 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80040154。 后来发现是office版本不一致,我使用office
C#中调用COM对象
C#中调用COM对象
SQLITE数据库 UPDATE慢
SQLITE数据库 UPDATE慢,此为一个实例,供大家!
C#写的com组件注册脚本
注册的bat脚本内容   @echo off 加入全局缓存 gacutil.exe /i WebCom.dll PAUSE @echo off 注册dll,生成tlb C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe "E:\接处警workspace\阜阳\阜阳市四县一市项目接处警_2013_07\JCJV2\SR
C#通过COM组件调用C++的代码(转载)
一.通过ALT建立COM组件 1、创建ATL Project 步骤1:建立一个解决方案。    步骤2:在 该解决方案中,新建一个 vc++ 的 ATL 项目。见下图 选择Dynamic-link library(DLL) 2、向工程中添加ATL对象 选择ATL Simple Object 名字为FunTest
C#_COM组件注册与调用
安装了VS(我用的vs2012 64位) gacutil.exe路径 C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools regasm.exe路径 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 单独建立一个文件夹放入dll,tlb文件 将以上路径配置到电脑环境变量PATH即可在管理员权限下的控制台输入一下命令 1、cd /d dll路径 然后回车,显示dll所在文件夹路径 2、gacutil /i dll文件名.dll 然后回车,显示将dll添加进程序集成功 3、regasm dll文件名.dll /tlb:dll文件名.tlb 然后回车,显示注册成功
c#进程外Com服务(exe)编写调用
网上有些进程外的一些资料,但有些简单,研究了两天写了demo,可利用这种方式解决64位的程序调用32位的dll等问题,但注意方法参数不能含有IntPtr,因为指针跨进程是无效的,每个进程都有自己的内存区域 一.编写外部Com服务exe    1.首先新建一个winform的应用程序,并设置com程序集可见2.编写com类     编写com接口,guid可利用vs的工具生成,代码设置com接口的可...
C#调用C++COM组件
前一阵在工作中做项目的时候,遇到了COM组件的调用和使用问题,当时研究和好一阵,才把中间的环节打通,现在写出来为大家提供方便,这里包含了四个类型: 1、在VS2005中,C#编写DLL并使用C++调用 2、在VS2005中C#编写的COM组件,使用VC6.0调用 3、在VC6.0中编写COM组件,使用VS2005 C#调用 4、在VC6.0中编写COM组件,使用VC6.0调
结构体数组作为传出参数从C++封送到C#
由于工作需求,要把C++动态库里面的结构体数组通过参数传出来。网上也查了很多资料,在这里推荐一本书,《精通.NET互操作:P/Invoke、C++ Interop和COM Interop》,介绍Windows平台上的托管代码与非托管代码之间进行互操作的各种技术,虽然里面没有结构体数组的传参例子,但是原理懂了,自然也能写出来。
C#的COM事件在C++中触发和响应的实现
在C++中调用C#开发COM组件时,一般的接口调用都比较容易实现,但是对于COM组件中的事件,C++中要去响应却不好实现。因为C#中事件是采用委托机制,而C++中却没有委托的机制,这样就无法实现对应。那要怎么办呢? 在C++中虽然没有委托的类型来对应,不过C++却可以开发ATL组件,同时里面有用到事件的映射,那么我们是不是可以应用这种机制去实现呢?进过不断的查找资料和一番努力,总算是达成了目标,
C# 通过反射调用com组件
C# 通过反射调用com组件,封装了几个简单的方法方便使用反射调用com。 var obj=new ComObj("excel.application"); obj["Visible"]=true; obj. InvokeMethod("Application.Workbooks.Open", fileName);
c# 进程内com组件实现
一.com组件编写    1.打开VS2013创建一个项目        2.设置项目属性    添加签名   3.编写开放接口和方法 ,添加类文件Main.csusing System; namespace MyComIn { public interface MyInterface { int add(int a, int b); } pub...
C#调用手动编写的COM组件(非ATL向导生成,参考上一篇手把手写COM组件)
C#调用手动编写的COM组件 (非ATL向导生成,参考上一篇手把手写COM组件) 手动创建一个非ATL向导生成的COM组件,添加的接口定义文件MyIDL.idl代码如下:(修改自“COM原理与应用源代码\ch3\DictComp\"例子) import "oaidl.idl"; import "ocidl.idl"; #include typedef unsigned short
C#开发COM组件
1.    概述       Microsoft在解决和以往的COM和SDK开发技术之间的互操作性(Interoperability)方面做了很多的工作,其中包括COM和.NET对象之间的相互调用以及.NET如何调用SDK中的Windows库函数。本文试图用一种实践的方式探索COM和.NET对象之间的互操作(Interoperability)的实现以及相关的技术。2.    发展历史
C#创建COM组件,QT调用COM组件简单测试(VS2008+QT4.6.4)
一. C#创建组件: 1. VS2008新建一个项目,选择Visual C#, Class library 修改Properties下面的AssemblyInfo.cs文件,ComVisible属性设置为True,即:[assembly: ComVisible(true)] 2. 右击项目,选择“属性”, 选择“生成”选项卡,把“为COM互操作注册”勾选上 选择“签名”选项卡,把“
c#动态加载com组件
在写一个获得outlook pst文件路径的时候,程序需要动态从GAC中加载Microsoft.Office.Interop.Outlook.dll,加载没问题,但无法创建com给出接口的实例,因为C#不支持创建接口的实例。而每个接口都有一个CoClass,创建其CoClass的
c# Com组件常用导出接口
namespace Microsoft.Tools.ServiceModel.ComSvcConfig { using System; using System.Collections; using System.Runtime.InteropServices; using System.Runtime.InteropServices.ComTypes;
C#创建COM组件,并在ASP、PHP中调用方法
1、新建项目        -- 选择Visual C# - 类库        -- 项目名称:如 SendMailLib        -- 去掉选中项 ”为解决方案创建目录”        -- 修改文件名Class1.cs 为 SendMail.cs (类名称自动更改为 SendMail) 2、修改项目 - 属性       -- 应用程序          目录框架
.netC#中页面之间传值传参的六种方法
1.QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子: ? 1 2 3 4 5 6 7 8 9 10 11 p
C# 通过COM端口读取数据
C# 通过COM端口读取数据 private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
C#调用COM
注册COM。 VS中项目->添加引用->COM,假设COM为module.dll,则会在项目中添加modulelib,实际指向interop.moudlelib.dll, 如果有界面控件,可以在工具箱中手动添加,添加选项卡->选择项->找到COM中的控件类,拖动控件到窗体设计器中时,系统会自动添加axmodulelib
C#.NET com组件的编写
C#.NET com组件的编写 设置工程属性:“生成”-> “为COM Interop注册”。 1 更改AssemblyInfo.cs……设置COM可见 1 建立源码 1 注册COM组件DLL 3 使用HTML中VBS脚本测试 3 提示不能创建 ACTIVEX 控件…… 4 提示找不到路径 4 ----作者Attilax , 1466519819@qq.com---
C++调用C# com组件:一个完整的的小例子
我们知道C#开发效率是非常高的,特别是做一些漂亮的页面就更适合用它了啊.如果你开发一个桌面应用程序即想性能好点又想页面漂亮点可以考虑用C++和C#一起用.反正现在Win7都集成NetFramework了,就不用纠结为了装个C#的应用程序而去再整个NetFramework装上.可以用C#做成com组件,然后C++去调用.反过来也行.可以C++做成com,然后C#来调用. 下面我举个简单的小例子
C#读写Excel(Com组件的方式)
     这种方式需要先引用 Microsoft.Office.Interop.Excel 。可以非常灵活的读取Excel中的数据,而且使用方式很丰富,基本上凡是打开Office Excel软件能够用鼠标点击完成的事,使用VSTO调用COM组件都能完成,而且可以调用Excel自身带的宏方法等。     但是,如果是Web站点部署在IIS上时,还需要服务器机子已安装了Excel,有时候还需要为配置I...
C#创建com组件
本文详细阐述如何用C#创建COM组件,并能用VC6.0等调用。并附有完整测试通过的代码。废话不多说,下面开始介绍: 开发工具:VS2010 VS2010命令提示符在:开始-所有程序-Visual Studio 2010-Visual Studio Tool-命令提示符  在用C#创建COM组件时,一定要记住以下几点: 1:所要导出的类必须为公有; 2:所有属性、方法也必须为公有;
Effective C#:改善C#代码的50个有效方法(原书第3版)
Effective系列
C#实现COM:简单示例
方便LR调用
COM通信——C#、vb
COM通信 COM通信——C#、vb COM通信——C#、vb
外部启动c#窗体程序传参问题
问题: 需要在一个软件里启动另一个独立的C#窗体软件并传入参数,例如下面的启动语句 string language = "en-us"; System.Diagnostics.Process.Start("XXX.exe",language); 一般的思路就是重写另一个独立窗体程序的构造函数MainForm添加参数,并在Program的主函数Main里添加参数。 添加参数前的
C#版 com串口下载
C#版 com串口下载C#版 com串口下载C#版 com串口下载C#版 com串口下载
C#生成com组件形式的dll供C++调用
①创建C#类库(ClassLibrary)、设置AssemblyInfo.cs中的[assembly: ComVisible(true)]默认是false、或者在接口和类之前添加设置为true     [ComVisible(true)]     [Guid("E709D3B9-18E8-4189-B1E0-49F72DD5A74C")]     public interface Combi
提问的智慧
简述提问的智慧,怎么更好地向别人请教问题
JavaScript学习笔记之JavaScript调用C#编写的COM组件
1、新建一个C#类库项目:MyCom; 2、修改 Properties 目录下的 AssemblyInfo.cs(程序集文件) 中的 ComVisible 属性为 true; 3、项目->属性->生成,勾选 “为COM互操作注册” ; 4、项目->属性->签名,勾选 “为程序集签名” ,在下面的 “选择强名称秘钥文件” 下选择新建,在弹出的 窗口中的 “秘钥文件名称” 添加一
C#调用c++编写的COM组件(供自己使用方便)
转自:https://msdn.microsoft.com/zh-cn/library/8ccdh774.aspx Aximp.exe(Windows 窗体 ActiveX 控件导入程序) .NET Framework (current version) 其他版本   ActiveX 控件导入程序将 ActiveX 控件的 COM 类型库中的类型定
COM 类型库(C# 调用 C++ COM)
COM C# 调用 C++ COM DLL 使用tlbimp 将 C++ COM 类型库导出 tlbimp "debug_win_x64\SDKWrapper.dll" /out:"debug_win_x64\SDKWrapperLib.dll"
c#中转出Excel时碰到Excel的COM组件没有注册的问题解决方法
Office 组件 注册 手工注册 1、如何生成Interop.Excel.dll?      进入你的visual studio的sdk下的bin目录,找到TlbImp.exe文件(实际上可能不在这里,所以可以打开VS的控制台,输入tlbimp看下),如果没有,请用光盘安装此文件,TLBIMP的使用说明MSDN:http://msdn.microsoft.com/zh-cn/library/
一个基于COM组件的Matlab与C#混合编程实例
基于COM组件的Matlab与C#混合编程的一个小例子
解决关于iis 中使用 word COM+ 组件的问题 ,应该基本上 都是 权限授权的问题
因为这类问题基本上都是授权问题,现在先解释一下这几个登陆标识:The interactive user 交互式用户 、The launching user 、this user 、the system account(services only)  下面引用了微软文档 ,翻译使用的是百度翻译(我的英文比较差,o(* ̄︶ ̄*)o) 1、The interactive user 交互式用户  微
VC调用C#的COM组件(DLL)
假设要进行二次开发的程序为 A.exe,要增加的功能使用增加DLL的方法来完成,设为Cdll.DLL,其中含有A、B、C等方法。       其中的方法A要用到C#类库Csharp.DLL中的方法A。要完成这个任务,参考网络上的各种方法与代码,总结其步骤如下:先用VS2008 C#类库项目写成含有A方法的DLL,并设置项目属性以进行COM的封装,然后用VC6 等写C代码进行调用。一、生成C#类库 Csharp.DLL(1)在Visual Studio 2008 中创建C#的类库项目 CSharp(2)实现的
销毁后重新创建的问题
代码有问题,只是为了请教的 什么问题
SAMBA问题文件无法写入及多组权限设置
请教SAMBA问题文件无法写入及多组权限设置
H5页面水印Jquery源码
HTML5+ jquery水印, 如果有问题,还望大神们请教。。
如何请教别人
我多多少少在 iOS 圈子里面有一点点知名度,所以在微博、微信、公众号上找我问问题的人不少。但是,大部分的程序员都不懂得如何请教别人,其实这件事情只需要学会「换位思考」就会好很多,但是还是有人做不好。 这篇文章主要是写给我自己用的,以后再遇到不会提问题的人,我就贴给他这篇文章就可以了。 如何请教别人呢,要做到以下几点。 合适的自我介绍 上次有一个人在一个线下分享会后一直拉着我问问题,我一直
PHP调用C#的COM组件
1. 测试的环境1.1 php5.5(window 64 位)1.1.1需要开启com支持,在ini中配置:com.allow_dcom= trueextension=php_com_dotnet.dll重启服务器1.2 C#安装vs20132. 代码部分2.1新建类库  2.2创建类  2.3配置属性     记得要ctrl+s 保存 2.4代码完善 创建一个普通的方法做测试。2.5生成类库(不...
C#在调用office的PowerPoint时出现 对 COM 组件的调用返回了错误 HRESULT E_FAIL。解决办法。
测试代码时,出现未处理 System.Runtime.InteropServices.COMException   Message="对 COM 组件的调用返回了错误 HRESULT E_FAIL。"   Source="Microsoft.Office.Interop.PowerPoint"   ErrorCode=-2147467259   StackTrace:       在 Microsoft.Office.Interop.PowerPoint.Presentations.Open(String
C# 多线程多参数和返回值用法
C# 多线程多参数和返回值用法
c# winfrom中加载com组件
如果在上述过程中出现 加载AxHost失败,失败原因无法初始化。这时候应该去com组件中实现IPersistStreamInit接口, 具体实现方法如下   :                                         在此打开 里面 COM_INTERFACE_ENTRY2(IPersistStream,IPersistStreamInit)更改为 C
c#调用c++ dll 传参 string 崩溃的一种解决办法
c#调用c++ dll 传参 string 崩溃的一种解决办法
C#通过COM组件对WORD文档操作
using System;using System.Collections.Generic;using System.Data;using Microsoft.Office.Core;using Word;namespace ReadXML{    ///      /// 对于Word文档操作的类     /// 通过COM组件来对Word进
C#调用COM组件后退出Excel进程
我在使用WinForm程序调用Excel的COM组件的时候,也遇到了Excel进程退出的问题。这个问题很多人已经遇到,而且解决办法也吵得很热。 现在总结一下: 第一种方法是调用相关的组件释放方法,然后用代码调用垃圾收集器进行处理。这种方法比较正常,也就是说,是通过正规渠道来退出这个进程。 public void QuitExcel(ref Microsoft.Office.Interop.E
委托传参例子
窗体间利用委托事件的方式传参,C#写的例子,供参考。。。。。。。。。。。。。
告别大学生活
马上毕业了,大家都有各自的打算。考研,公务员,教师,软件开发。大学生活中充满着酸甜苦辣,我们享受着,承担着。现在即将走向社会的朋友们,你们准备好了吗?加油
C# COM组件操作Excel
一、使用微软COM组件读Excle 将Excle中的变量信息读入varInfoDic, 其定义如下: Dictionary> varInfoDic = new Dictionary>(); VarInfo类的定义如下:     public class VarInfo     {         public string varType;         public stri
C#中调用COM对象简介
摘要:本文介绍要想C#调用COM对象的方法、函数和属性,就必须使用包含正确设置的Type对象的InvokeMethod()方法。     .NET框架是COM的一个自然发展,两者共享许多核心要素,这包括组件的再利用以及语言的中立性。为了向后兼容,COM Interop可以使用现存的COM组件而不要求对原始组件进行修改。当一个 .NET 框架开发人员想将COM代码合并到一个管理应用程序中时
情商5-虚心请教,少走弯路
情商5-虚心请教,少走弯路
如何用ATL写一个C++的COM组件(C#轻松调用C/C++接口)
似乎关于COM的ALT中文教程不多 自己研究了下 现在奉献给大家 若大家有兴趣 会接着继续讲下去哦~~~
Python调用C# Com dll组件实战
类似于这种C# 能实现的功能而在Python下实现不了的,搜集资料有两种解决方案,第一种方式,使用IronPython 直接调用C# dll文件,教程网上很多,不在赘述了,这种方式有个缺点,用的是ironPython而非Python,只是集成了一些.net framework库的Python版本,更新维护少;第二种方式是,C# dll源码编译成Com组件,Python再调用COM组件Dll的方法。 网上有很多Python调用COM dll教程,但大部分是C或C++编写的dll,很少有比较全面的
vs运行时报错:无法将COM对象强制转换成接口
运行时警告:警告 1 未能确定 COM 引用“ExcelClientPkgLib”的依赖项。加载类型库/DLL 时出错。 (异常来自 HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY)) 异常原因:wps注册表和office冲突。 解决办法:重新安装wps,然后用自带的卸载程序卸载(注意:“保留配置信息方便下次是使用”我直接把这个勾给去掉了),注册表清理
C# 不包含可为 COM 互操作注册的任何类
在开发Excel Addin中使用到了自定义函数(UDF),编译类的时候,vs提示
php调用DLL(COM)注意事项
PHP调用DLL(COM)注意事项:1、函数的参数中,最后一个参数函数是返回值,须是retval类型的。2、向接口传字符串类型的参数时,不要用BSTR*类型的,而用BSTR,因为BSTR本身已经是指针了。3、PHP中的数字0并不对应C/C++中的0或NULL,而是另有其值。4、PHP中的空字符串""并不对应C/C++中的NULL,最好用计算其长度是否为0来判断是否为空串。5、向外输出的接口如果能放在一个类中,最好都放在一个类中。曾经在输
pb调用C#中COM组件(2)
接pb调用C#中COM组件(1)续
COM组件调试
COM技术虽然已经不被Microsoft推荐,我还是简单记录一下怎样调试COM组件。 跟调试普通的dll差不多,有一点区别。 1. 创建COM组件 现在利用VS去创建COM组件是很容易的,可以利用C++/VC++ 或者C#,淡然C#去编写COM组件还是比较少的,本例用VC++编写。 2. 创建客户端调用COM组件。 我们在创建COM组件之后,往往是为了给第三方去调用的,这个时候客户端没有...
C#中转换Office中的COM组件方法
C#中转换Office中的COM组件方法我的电脑配置(Windows Server 2003+OFFICE2003+VisualStudio 2003)因为要处理一些WORD文档.EXCEL文档,TXT文档资料到数据库中.所以在网络上查找了一些关于c#处理OFFICE文挡的一些文章.发现有两个比较重要的地方.一是转换EXCEL组件方法:我在DOS下执行"tlbimp excel.exe"提示没有这
C#--传参
传参:类似于调取,下面的public的运行如何进行,那么将这个方法直接放到上面的void中则可以直接运行,不用在写方法。 static void Main(string[] args) { //不需要写方法,直接定义一个数字即可自己参与运算。 int number = 90; test(number); //通...
C# COM 互操作注册的类型 编译警告或错误
解决  COM 互操作注册的类型 编译警告或编译错误 warning MSB3214: “F:\....\CommonUI.dll”不包含任何可为 COM 互操作注册的类型 解决方法: 把licenses.licx文件删掉,在AssemblyInfo.cs文件中[assembly: ComVisible(false)]变为[assembly: ComVisible(true)] 就
VS2010中创建COM组件并用C++及C#测试
创建ATL工程: 1.新建工程: 2.在工程向导中使用默认设置: 3.添加ALT simple object: 4.添加函数与属性: 5.添加实现代码: 测试组件-CPP: 测试组件-CSharp:
block回调测试
block的回调测试代码,主要是block回调的时候传参问题
c# 事件传参
public class SeatChoosenEventArgs : EventArgs { public 呼叫中心工号核对表Entity SeatChoosen; } public partial class UCSeatIcon : UserControl {   private 呼叫中心工号核对表Entity _entity; pub
我们是很有底线的