您的位置:首页 > 其它

解决Com调用AutoCAD"被呼叫方拒绝接收呼叫"

2013-04-25 14:53 691 查看
在用Com调用AutoCAD的代码试,一般第一次启动时会出现"被呼叫方拒绝接收呼叫,异常来自 HRESULT:0x80010001 (RPC_E_CALL_REJECTED)"的错误.

关键代码如下:

try

{

cadApp = (Autodesk.AutoCAD.Interop.AcadApplication)Marshal.GetActiveObject(programID);

}

catch

{

try

{

Type sType = Type.GetTypeFromProgID(programID);

cadApp = (Autodesk.AutoCAD.Interop.AcadApplication)Activator.CreateInstance(sType, true);

cadApp.Visible = true;

}

catch (Exception ex)

{

MessageBox.Show("Cannot open AutoCAD. \n Error message : " + ex.Message);

}

}

if (cadApp != null)

{

cadApp.Visible = true;

cadApp.ActiveDocument.SendCommand("filedia\r0\r");

cadApp.ActiveDocument.SendCommand("netload\r" + Application.StartupPath + "\\myplugin.dll\r");

cadApp.ActiveDocument.SendCommand("filedia\r1\r");

cadApp.Documents.Open(strDWG, Type.Missing, Type.Missing);

}

解决如下:

1.右击“我的电脑”,点击“管理”,进入服务,确保

Distributed Transaction Coordinator和Remote Procedure Call (RPC) 以及Security Accounts Manager三个服务都是已启动状态,如果没有启动,启动它。

2.在运行里输入"dcomcnfg",进入“组件服务”,点击“控制台根目录”下的“组件服务”,进入到“计算机”下的“我的电脑”目录,进入“DCOM”配置,找到“AutoCAD Application”,右击属性,进入“标识”选项卡,将默认的用户账号由“启动用户”改到“交互式用户”。如图所示。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐