摘要: 用c#模仿了一遍,实现了如下功能:1、显示启动屏幕(用自定义的启动屏代替 AutoCAD 的启动屏);2、启动 AutoCAD;3、自动加载其他“你的软件包”相关的若干个 dll,arx,lisp等 程序;4、初始化与发行软件相匹配的 AutoCAD 环境参数变量;5、退出启动屏幕,将控制权限移交给 AutoCAD。关键在于如何检测cad已经启动完毕,及时关闭启动屏。 关键语句IntPtr cadPtr =MainForm.hwnd_CAD ; try { BringWindowToTop (cadPtr ); if (IsW... 阅读全文
posted @ 2012-08-16 23:15 Cad人生 阅读(923) 评论(0) 推荐(1) 编辑
摘要: 原因是序列化时把序列化类的命名空间等信息保存了,但应用程序和类库的命名空间可能是不一样的,所以提示找不到程序集。解决方法如下:1.将dll加入强名称,注册到全局程序集缓存中2.在反序列化使用的IFormatter 对象加入Binder 属性,使其获取要反序列化的对象所在的程序集,示例如下:12345678910111213141516public void DeSerialize( byte [] data, int offset) { IFormatter formatter = new BinaryFormatter(); formatter.Binder = new UBinder(); 阅读全文
posted @ 2012-08-16 19:04 Cad人生 阅读(533) 评论(0) 推荐(1) 编辑