Можно попытаться и Word получить через AccessibleObject. Я правда никогда не пробовал, но есть большая вероятность что будет работать.
Порядок действий должен быть следующий :
Получить AccessibleObject из окна или точки (функция AccessibleObjectFromPoint).
Потом из AccessibleObject-а получить IServiceProvider, примерно так :
Код:
IServiceProviderPtr pSP;
IAccessiblePtr pAcc;
if(AccessibleObjectFromPoint(pt, &pAcc, &varId)==S_OK)
{
if(pAcc->QueryInterface(IID_IServiceProvider, (void **)&pSP)==S_OK)
{
//Тут сделать QueryService на соответствущий СОМ интерфейс Ворда
Word::_DocumentPtr spDoc;;
if(pSP->QueryService(Word::IID_Document,Word::IID_Document, (void **)&spDoc)==S_OK)
{
....
}
}
Не уверен что правильно написал интерфейсы Ворда, нужно пробовать.
Но сам принцип должен работать. Я в своих прогах таким образом получаю HTML елементы из экранной точки.