- UID
- 306818
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2005-8-11
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
我是想在CAD退出时,把当前配置改为CAD的默认配置!
在AutoCAD2000和AutoCAD2002下都没问题,在2004下就是不行
还有就是哪个启动时指定/p 参数,AutoCAD帮助文件里明明写的只在当前CAD环境有效,偏偏退出后还是改变了CAD的配置
所以才不得以写了这个函数
void REStoreDefPro()
{
AcApProfileNameArray arrNameList;
int nProfiles = acProfileManagerPtr()->ProfileListNames(arrNameList);
CString strProName;
for (int i = 0; i < nProfiles; i++)
{
strProName = arrNameList;
if (strProName == _T("<<未命名配置>>") ||
strProName == _T("<<Unnamed Profile>>"))
{
Acad::ErrorStatus es = acProfileManagerPtr()->ProfileSetCurrent(strProName);
if (Acad::eOk == es)
{
MessageBox(NULL, _T(strProName), _T("Profile Set Current OK"), MB_ICONINFORMATION);
}
break;
}
else if (i == nProfiles - 1)
{
Acad::ErrorStatus es = acProfileManagerPtr()->ProfileCopy(_T("<<未命名配置>>"), _T("W-SCAS2006"), _T("默认配置名称"));
es = acProfileManagerPtr()->ProfileReset(_T("<<未命名配置>>"));
es = acProfileManagerPtr()->ProfileSetCurrent(_T("<<未命名配置>>"));
}
}
}
我是在这里调用的:
case AcRx::kUnloadAppMsg:
UnloadApplication();
REStoreDefPro();
break;
我这样也试了的
case AcRx::kUnloadAppMsg:
REStoreDefPro();
UnloadApplication();
break;
跟踪到ProfileSetCurrent这个函数,都突然结束了
在AutoCAD2002跟踪时就可以继续往下走
奇怪的是如果单独做一个命令来调用这个函数,又不会出错! |
|