c++启动AutoCAD有会的进来看看。
HRESULT hr = S_OK;
IUnknown *lpUnk = NULL;
CLSID clsid;
::CoInitialize(NULL);
//这里的版本号看你安装的AutoCAD是哪个版本,具体路径你可以查看一下C:\Program Files\Common Files\Autodesk Shared这里面的文件.tlb前面的数字来进行填写
//比如我的是:acax19deu.tlb 所以我这里就写成了AutoCAD.Application.19
hr = ::CLSIDFromProgID(L"AutoCAD.Application.19", &clsid);
if (FAILED(hr))//加载是不是成功
return -1;
hr = ::GetActiveObject( clsid, NULL, &lpUnk);
if (FAILED(hr)){
if (IDNO == ::MessageBox( NULL, _T("启动AutoCAD?"), _T("提示信息"), MB_YESNO))
return -2;
hr = ::CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER, IID_IUnknown, (void**)&lpUnk);
if (FAILED(hr))
return -3;
}
hr = lpUnk ->QueryInterface( __uuidof(IAcadApplication), (void**)&m_lpApp);
if (FAILED(hr))
return -4;
lpUnk ->Release();
m_lpApp ->Visible = TRUE;
oDoc=m_lpApp->GetActiveDocument();
if (oDoc)
{
CString str;
str.Format(_T("你当前的文档是在%d"),oDoc);
AfxMessageBox(str);
//oDoc->Open(_T("D:\\aa.dwg"),COleVariant(_T("")));
//oDoc->Import(_T("D:\\aa.dwg"),COleVariant(_T("")),10.2);
return S_OK;
}
else
{
return S_FALSE;
}
为什么我在找开.dwg文件时总给我报这个错误呢?
CAD.exe 中的 0x00811761 处未处理的异常: 0xC0000005: 读取位置 0x0057016c 时发生访问冲突
实在是不解,不知道哪里出错误了,用跟踪的方法试了,是打开这个函数这里出错了。又找不开具体的错误。
IUnknown *lpUnk = NULL;
CLSID clsid;
::CoInitialize(NULL);
//这里的版本号看你安装的AutoCAD是哪个版本,具体路径你可以查看一下C:\Program Files\Common Files\Autodesk Shared这里面的文件.tlb前面的数字来进行填写
//比如我的是:acax19deu.tlb 所以我这里就写成了AutoCAD.Application.19
hr = ::CLSIDFromProgID(L"AutoCAD.Application.19", &clsid);
if (FAILED(hr))//加载是不是成功
return -1;
hr = ::GetActiveObject( clsid, NULL, &lpUnk);
if (FAILED(hr)){
if (IDNO == ::MessageBox( NULL, _T("启动AutoCAD?"), _T("提示信息"), MB_YESNO))
return -2;
hr = ::CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER, IID_IUnknown, (void**)&lpUnk);
if (FAILED(hr))
return -3;
}
hr = lpUnk ->QueryInterface( __uuidof(IAcadApplication), (void**)&m_lpApp);
if (FAILED(hr))
return -4;
lpUnk ->Release();
m_lpApp ->Visible = TRUE;
oDoc=m_lpApp->GetActiveDocument();
if (oDoc)
{
CString str;
str.Format(_T("你当前的文档是在%d"),oDoc);
AfxMessageBox(str);
//oDoc->Open(_T("D:\\aa.dwg"),COleVariant(_T("")));
//oDoc->Import(_T("D:\\aa.dwg"),COleVariant(_T("")),10.2);
return S_OK;
}
else
{
return S_FALSE;
}
为什么我在找开.dwg文件时总给我报这个错误呢?
CAD.exe 中的 0x00811761 处未处理的异常: 0xC0000005: 读取位置 0x0057016c 时发生访问冲突
实在是不解,不知道哪里出错误了,用跟踪的方法试了,是打开这个函数这里出错了。又找不开具体的错误。
...全文
相关推荐
ObjectArx2014+Vs2010+CAD2014
通过启动AutoCAD,并使用“-arx”命令行参数加载你的ARX模块,可以在AutoCAD环境中直接调试你的代码。7.
AutoCAD2000ObjectARX编程指南
装载和卸载:ARX应用程序需要在AutoCAD启动时加载,并在AutoCAD关闭时卸载。
分享一下自己在进行Objectarx 开发时经常用到的工具类
ObjectARX是Autodesk开发的一种C++编程接口,用于扩展AutoCAD的功能,创建自定义的CAD应用程序或插件。ArxHelper类库可能包含了以下关键知识点:1.
AutoCAD高级开发技术:ARX编程及应用
ARX程序可以作为独立的可执行文件加载到AutoCAD中,或者嵌入到AutoCAD的启动脚本中,使得每次启动AutoCAD时自动运行。
AutoCAD.NET开发入门篇
Objectarx 是 C++ 语言编写,VBA、Autolisp 是一种脚本语言编写开发功能。


工具平台和程序库
