a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

判斷本機(jī)office安裝版本的方法分享

2020-01-26 15:37:26
字體:
供稿:網(wǎng)友

復(fù)制代碼 代碼如下:

#include "msword.h"
HRESULT AutoWrap(int autoType, VARIANT *pvResult, IDispatch *pDisp,
     LPOLESTR ptName, int cArgs...)
{
 // Begin variable-argument list
 va_list marker;
 va_start(marker, cArgs);

 if (!pDisp)
 {
  _putws(L"NULL IDispatch passed to AutoWrap()");
  _exit(0);
  return E_INVALIDARG;
 }

 // Variables used
 DISPPARAMS dp = { NULL, NULL, 0, 0 };
 DISPID dispidNamed = DISPID_PROPERTYPUT;
 DISPID dispID;
 HRESULT hr;

 // Get DISPID for name passed
 hr = pDisp->GetIDsOfNames(IID_NULL, &ptName, 1, LOCALE_USER_DEFAULT, &dispID);
 if (FAILED(hr))
 {
  wprintf(L"IDispatch::GetIDsOfNames(/"%s/") failed w/err 0x%08lx/n",
   ptName, hr);
  _exit(0);
  return hr;
 }

 // Allocate memory for arguments
 VARIANT *pArgs = new VARIANT[cArgs + 1];
 // Extract arguments...
 for(int i=0; i < cArgs; i++)
 {
  pArgs[i] = va_arg(marker, VARIANT);
 }

 // Build DISPPARAMS
 dp.cArgs = cArgs;
 dp.rgvarg = pArgs;

 // Handle special-case for property-puts
 if (autoType & DISPATCH_PROPERTYPUT)
 {
  dp.cNamedArgs = 1;
  dp.rgdispidNamedArgs = &dispidNamed;
 }

 // Make the call
 hr = pDisp->Invoke(dispID, IID_NULL, LOCALE_SYSTEM_DEFAULT,
  autoType, &dp, pvResult, NULL, NULL);
 if (FAILED(hr))
 {
  wprintf(L"IDispatch::Invoke(/"%s/"=%08lx) failed w/err 0x%08lx/n",
   ptName, dispID, hr);
  _exit(0);
  return hr;
 }

 // End variable-argument section
 va_end(marker);

 delete[] pArgs;

 return hr;
}

void Cwps_msword2013Dlg::OnBnClickedButton1()
{
 CString strAppName = OLESTR("word.application");
 bool bResult = false;
 IDispatch * wordApp;
 CLSID appClsid;
 if(S_OK == CLSIDFromProgID(strAppName, &appClsid))
 {
  if(S_OK == CoCreateInstance(appClsid, NULL, CLSCTX_LOCAL_SERVER, IID_IDispatch, (void **)&wordApp))
  {
   Word::_Application appWord;
   if(S_OK == wordApp->QueryInterface(IID_IDispatch, (void**)&appWord))
   {
    CString strVersion = _T("");
    strVersion = appWord.GetVersion();
    if(_ttoi(strVersion) >= 15.0)
    {
     bResult = true;
    }
   }

  }
  AutoWrap(DISPATCH_METHOD, NULL, wordApp, L"Quit", 0);
  wordApp->Release();
 }
 if(bResult)
  MessageBox(_T("ok"), _T("tip"));
 else
  MessageBox(_T("no"), _T("tip"));
 //return bResult;
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 久久靠逼| 欧美久久精品一级c片 | 久久综合久| 成人超碰在线 | 国产日韩精品在线观看 | 日韩在线观看网站 | jlzzjlzz亚洲日本少妇 | 久久综合一区二区三区 | 国产成人精品二区 | 色综合激情 | 国产一区二区三区不卡在线观看 | 国产精品久久嫩一区二区 免费 | 国产色网| www.久久| 亚洲电影在线观看 | 99视频网站| 欧美国产日韩在线观看 | 国产精品视频 | 一级一级一级一级毛片 | 久久99精品热在线观看 | 姐姐在线观看动漫第二集免费 | 久久99深爱久久99精品 | 91精品久久久久久久久久入口 | 九九在线视频 | 国内久久| 麻豆精品久久 | 欧美性久久 | 国产片侵犯亲女视频播放 | 三级免费网站 | 国产在线一二三区 | 中文字幕日韩欧美一区二区三区 | 久久成人激情视频 | 成人亚洲精品久久久久软件 | 欧美一区二区激情三区 | 69黄在线看片免费视频 | 国产91亚洲 | 国产精品久久精品久久 | 91久色| 欧美日韩精品在线 | 男女羞羞羞视频午夜视频 | 日韩不卡一区二区三区 |