这个博客已经列出一个我也是这么实现的操作了.所以我就不写了....
https://www.cnblogs.com/he-xiang/p/7890488.html
这到底有什么用呢?因为这涉及了一个很重要的概念就是,不同软件之间的数据交换.
列出这个的原因是因为曾经有个需求的实现的 "双击.vlx" 加载到当前已开的cad上面,
然后我刚开始用com实现,就遇到了com无法加载"同版本cad的多个打开状态",这就很糟糕了...
也就是拓展起来就有:
1:相同版本多个cad,在当前电脑打开
2:不同版本多个cad,在当前电脑打开
com就是只操作一个版本的一个cad...只能放弃com了......
所以只能做服务器程序~
在做服务器程序的时候遇到一个难题,就是要新建线程去监听接口,这就涉及了cad无法多线程的问题,
问了飞诗和福萝卜,他们都告诉我用winform隐藏窗口来实现委托窗体来处理多线程...妙啊...
之后再把端口的服务端写在"win服务"上面,这样端口监听就不用重复占用,重复占用必死.....
我写的客户端就是cad插件,和"发送vlx到cad程序.exe"的控制台程序.
这样 双击"发送vlx到cad程序.exe" 就会发送信息到"win服务", "win服务" 转发 "cad插件", "cad插件" 就相当于在cad上面运行了....你就可以为所欲为了.
以上只是一些思路流程,实际上你还会遇到修改双击后缀的注册表等等的问题....