IPreviewHandler* m_pIP =NULL;
IInitializeWithFile* m_pIFile = NULL;
HRESULT hr = NULL;
CString szFile = filefullpath;
CLSID CLSID_Excel = {0x00020827,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}};
//{1B96FAD8-1C10-416E-8027-6EFF94045F6F}{031EE060-67BC-460d-8847-E4A7C5E45A27}
CoInitialize(NULL);//初始化组件
if( S_OK == CoCreateInstance(CLSID_Excel, NULL, CLSCTX_INPROC_SERVER |
CLSCTX_LOCAL_SERVER,
IID_IPreviewHandler,(LPVOID*)&m_pIP) )
{
HRESULT get = NULL;
get = m_pIP->QueryInterface(IID_IInitializeWithFile,
(LPVOID*)&m_pIFile );
if( S_OK == (get = m_pIP->QueryInterface(IID_IInitializeWithFile,
(LPVOID*)&m_pIFile )))
{
hr = m_pIFile->Initialize( szFile,STGM_READ);
}
}
CRect rectPreview;
GetClientRect(&rectPreview);
rectPreview.left += 350;
if( m_pIP )
{
hr = m_pIP->SetWindow( this->m_hWnd, &rectPreview );
hr = m_pIP->DoPreview( );
}
MFC调用com打开文件预览
最新推荐文章于 2022-03-25 08:59:52 发布