需求背景:公司目前在做一个金税打印的功能,存在一个问题,每次调用打印都会产生一个实例,而金税打印的插件有不能有多个实例,否则会报错。所以现在想出一个办法,就是通过C#编写一个ActiveX插件(相当于适配器的功能),通过C#编写的插件,来调用金税插件,采用单例模式,控制它只生成一个实例,目前存在如下问题:
1、怎么调用CLSID
2、调用到CLSID之后,怎么给他实例化
3、实例化之后,我怎么创建一个对应的类(如果是Object类型,那么这个实例就调用不到CLSID里面特有的那些属性了)
参考代码如下:
/// <summary> /// 创建金税插件的对象 /// </summary> /// <param name="clsid">金税插件的ClsId</param> /// <returns></returns> private static object GetActiveXObject(Guid clsid) { Type t = Type.GetTypeFromCLSID(clsid); if (t == null) { return null; } return Activator.CreateInstance(t); }
该代码创建出来的对象是Object类型的,所以没有金税插件应该有的属性和方法
请高手们提提建议该怎么解决?
如果说我的思路有问题,欢迎纠正!
相关推荐
常用电脑类标识符CLSID,方便你编辑注册表
控制面板中那个设置光标闪烁的功能并不能完全禁止住光标闪烁,我们这有另外一种方法,用注册表编辑器打开到HKEY_CURRENT_USER\Control Panel\desktop,看看右边有没有 “CursorBlinkRate”,如果没有请在右边空白处...
不用OLE View工具,也可以获得com组件(ocx、dll)的类名和对应的clsid。此工具通过访问注册表,获得某个已经注册的com组件(ocx、dll)的所有类名和对应的clsid。
调用DCOM例
常用电脑类标识符CLSID,方便你编辑注册表
******当需要修改这些系统文件夹的路径时,只需进入注册表的HKEY_CURRENT_USER\Software \Microsoft\Windows\CurrentVersion\Explorer...认的类ID类标识,windows在注册表的HKEY_CLASSES_ROOT\CLSID下定义这些类
本资源中的获得文件的版本号模块,通过传入文件名,即可获得... 本资源的源码中还含有一个特别重要的模块,用VB动态调用标准动态库(dll),这是很多VB编程者都希望得到的。 本资源含所有源码。(QQ:984742494)
此工具可用于获取Dll的CLSID,编程辅助工具。
常用CLSID
2.IE根据找到的CLSID信息创建 BHO 对象,并且查找 IObjectWithSite 接口. (这个接口非常简单,只有SetSite和GetSite两个方法) 3.IE把IWebBrowser2(浏览器插件)传到 BHO 的 SetSite 方法,用户在此方法中可挂载自己的...
获取dll clsid的小工具,操作简单明了,使用便捷
检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件问题整理
COM组件uuid,GUID,CLSID,ProgID区别在哪儿.zip
通过一个简单的组件实现两个接口,CoCreateInstance 调用 DLLGetClassObject返回相应的组件类厂 类厂调用CreateInstance创建组件 用DLLRegisterServer向注册表中加一个组件ID,前提是要对注册表中CLSID下的结构有...
本文实例讲述了C#使用GDI+创建缩略图的方法,分享给大家供大家参考。具体方法分析如下: C#的Gdi+还是相当好用的。创建缩略图步骤如下: 1. Image保存图像,需要一个CLSID的参数,它可以这样获得: 代码如下:int ...
C#编写QQ接口软件
检索 COM 类工厂中 CLSID 为 {96749377-3391-11D2-9EE3-00C04F797396} 的组件失败,适用于64位win7 亲测有效 注意安装说明
特殊文件夹的CLSID值,让你改变文件夹,改成回收站之类的
3.控件方法调用说明 01 //启动摄像头 02 Camer.initCamer(0,10); 03 //点击拍照 04 Camer.TakePhoto("D:/test1.bmp"); 05 //关闭摄像头 06 Camer.CloseDev(); 07 //上传已拍照的相片 08 Camer.UpFileNew("D...
注册office组件时,出现检索com类工厂中CLSID为...组件注册失败的解决方案。