查看单个帖子
旧 2008-07-05, 10:03 AM   #1
zwj23232
初级会员
 
注册日期: 08-05
帖子: 2
精华: 0
现金: 7 标准币
资产: 7 标准币
zwj23232 向着好的方向发展
默认 如何在程序中关闭sw?

在后台运行SW,发现用程序无法关闭SW,代码如下:
HRESULT hr = NOERROR;

CLSID clsid;

LPUNKNOWN pUnk = NULL;

LPDISPATCH pDisp = NULL;



hr = ::CLSIDFromProgID(L"SldWorks.Application", &clsid);



if (SUCCEEDED(hr))

{

if(::GetActiveObject(clsid, NULL, &pUnk) == S_OK)

{

VERIFY(pUnk->QueryInterface(IID_IDispatch, (LPVOID*)

&pDisp) == S_OK);

m_SldWorks.AttachDispatch(pDisp);

pUnk->Release();

}

else

VERIFY(m_SldWorks.CreateDispatch(clsid) == TRUE);
…………….

…………….

pModelDoc.ReleaseDispatch();

m_SldWorks.CloseDoc(filepath);///////////I have close the doc



m_SldWorks.ReleaseDispatch();//////make the sw application end,but it doesn’t work m_SldWorks.ExitApp();

打开任务管理器,发现SLDWORKS.EXE仍然在运行.请问该如何关闭?
zwj23232离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)