【发布时间】:2018-10-24 15:47:21
【问题描述】:
这是在后台运行 Ms Word 以实现 OLE 自动化的代码:
int _tmain(int argc, _TCHAR* argv[])
{
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
CLSID clsid;
HRESULT hr = CLSIDFromProgID(L"Word.Application", &clsid);
IDispatch *pWApp;
if(SUCCEEDED(hr))
{
//here the process starts
hr = CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER,
IID_IDispatch, (void **)&pWApp);
cout << "success" << endl;
}
//here I try to end it
pWApp->Release();
CoUninitialize();
return 0;
}
不幸的是,我的程序结束后,Word 仍保留在内存中。如何阻止它?
【问题讨论】:
-
我认为如果没有客户端使用,服务器在内存中保留几分钟然后退出是正常的
-
@M.M Ahh,所以不需要做其他事情了吗?
-
我对 MS Word 不太了解;您的代码看起来正确,但服务器行为取决于服务器本身