- 积分
- 12459
- 明经币
- 个
- 注册时间
- 2003-5-28
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
楼主 |
发表于 2004-9-30 19:48:00
|
显示全部楼层
回复
可以了,查了些资料,并不太理解,因为知识面太窄!
Setup.exe启动AutoCAD2005英文版
(自己做安装程序,试着玩: 创建copyfolder, shortcut, profile, ...)
刚完成一点儿.
参考[转载]: 用'添加类'->'MFC'->'类型库中的MFC类'导入AutoCAD的tlb类型库.
我还不确定"AutoCAD.Application"该怎么写,我只装了AutoCAD2005,同时有多个版本时,是不是应该写成"AutoCAD.Application.16.1"呢?
IAcadApplication AcadApp;
void getAcad() { // This function will find AutoCAD in the registry, and launch it (if it is not launched already). HRESULT hr=NOERROR; CLSID clsid; LPUNKNOWN pUnk=NULL; LPDISPATCH pDisp=NULL;
CoInitialize(NULL); hr=::CLSIDFromProgID(L"AutoCAD.Application", &clsid); if(SUCCEEDED(hr)) { if(::GetActiveObject(clsid,NULL,&pUnk)==S_OK) { // Already opened Acad Session...attach ourselves VERIFY(pUnk->QueryInterface(IID_IDispatch,(LPVOID*) &pDisp)==S_OK); AcadApp.AttachDispatch(pDisp,FALSE); pUnk->Release(); } else // We must invoke our instance of AutoCAD... VERIFY (AcadApp.CreateDispatch(clsid)==TRUE); AcadApp.SetVisible(TRUE); } else AfxMessageBox("AutoCAD is Not Registered!"); }
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|