RT

解决方案 »

  1.   

    从注册表可以取得Word的安装路径。
      

  2.   

    有源代码
    http://www.yesky.com/SoftChannel/72342371928702976/20040804/1838674_1.shtml
      

  3.   

    查找注册表:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\Common\InstallRoot
      

  4.   

    系统已注册过的就不需要去注册表里找了
    1,system("start WINWORD.EXE");不过就是由黑框
    2,ShellExecute(NULL,"open","WINWORD.EXE",NULL,NULL,1);
      

  5.   

    word是一个自动化程序,可以通过创建组件对象来启动word程序,这样就不需要知道word的路径了
      

  6.   

    给你三个函数,可以完成你的需要:
    bool IsWordExist()
    {
    static bool bExist, bFirst=true;
    if (bFirst)
    {
    bFirst = false;
    CReg reg;
    bExist = (bool)reg.Open(HKEY_CLASSES_ROOT, "Word.Document", KEY_READ);
    }
    if (!bExist)
    {
    //if (bPrompt) AfxMessageBox ("没有安装Microsft Word 95或更高版本,操作不能执行!", MB_ICONSTOP);
    return false;
    }
    return true;
    }int TL_Initialize()
    {
    //初始化COM
    if (CoInitialize(NULL)!=0) 
    {
    return ERROR_CANNOT_INITIALIZE_COM;
    }
    if(!IsWordExist()) 
    {
    return ERROR_WORDNOTINSTALLED;
    }
    //Call word process:
    try
    {
    //ASSERT (NULL==m_objWord);
    m_objWord = new _ApplicationWord;

    if (!m_objWord->CreateDispatch("Word.Application", NULL))
    {
    //AfxMessageBox("不能创建Word对象!", MB_ICONSTOP);
    delete m_objWord; m_objWord = NULL;
    throw 0;
    return ERROR_CANNOT_CREATE_WORD_APPLICATION;
    }
    else{
    // AfxMessageBox("成功创建Word对象!");
    }
    }
    catch(COleException *oe)
    {
    oe->ReportError();
    delete oe;
    return ERROR_CALL_INITIALIZE_UNKNOW_ERROR;
    }
    catch(...)
    {
    return ERROR_CALL_INITIALIZE_UNKNOW_ERROR;
    }
    //OLE_CATCH();
    m_nHasCallInitializeSuccess = 40415;//2004/04/15
    return ERROR_CALL_INITIALIZE_SUCCESS;
    }int UnInitialize()
    {
    bool bError = false;
    if (m_objWord)
    {
    try
    {
    COleVariant covTrue((short)TRUE), covFalse((short)FALSE);
    m_objWord->Quit(covFalse,  // SaveChanges.
    covTrue,   // OriginalFormat.
    covFalse   // RouteDocument.
    );
    m_objWord->ReleaseDispatch();
    delete m_objWord;
    m_objWord = NULL;
    }
    catch(COleException *oe)
    {
    oe->ReportError();
    delete oe;
    bError = true;
    }
    catch(...)
    {
    bError = true;
    }
    //OLE_CATCH();
    }
    CoUninitialize(); if(bError)
    {
    return ERROR_CANNOT_CLOSE_WORD;
    }
    return ERROR_QUIT_SUCCESS;
    }
      

  7.   

    see MSDN:
    HOWTO: Use Visual C++ to Access DocumentProperties with Automation Q238393and call // Call Documents.Add() to new a blank document
    IDispatch *pDoc;
    {
    VARIANT result;
    VariantInit(&result);

    AutoWrap(DISPATCH_METHOD, &result, pDocs, L"Add", 0);
    pDoc = result.pdispVal;
    }
      

  8.   

    从注册表可以取得Word的安装路径