如果你的exe在运行,也不需要createobject了,直接上 Microsoft.VisualBasic.Interaction.GetObject()或者Marshal.GetActiveObject(progID)就行了
.net 程序可以发布为 com 组件,供 vba 等等程序去 CreateObject/GetObject 之类的。如果你搜索网页,可能找2005年以前的网页还是有那么一点点介绍的。 不过,如果你看10年前的任何一本 .net 的大部头的入门书,例如有名的“红皮书”,里边应该有一章相当篇幅是讲这个的。所以如果你手边有个前些年的工具书,不要荒废了。
CreateObject/GetObject,都是COM时代的模式,而且需要注册。 你需要自己搜索有关“编译且发布为COM组件”的概念。基本行可以说,没什么程序员还干这个事儿,不足千分之一。因此比较难得到答案,只有自己搜索。
[quote=引用 楼主 seleron 的回复:] c#写的exe,启动时,如何将自己加入到全局程序集缓冲中,让别的程序来调用。 也就是说别的程序调用我这个exe的接口时,不需要CreateObject,只需要GetObject, 也就是说不需要实例化我的exe,而是直接跟这个exe通信
c#写的exe,启动时,如何将自己加入到全局程序集缓冲中,让别的程序来调用。 也就是说别的程序调用我这个exe的接口时,不需要CreateObject,只需要GetObject, 也就是说不需要实例化我的exe,而是直接跟这个exe通信
110,535
社区成员
642,577
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧