How to get the IAccessible of the child of the DirectUEHWND in the IMWindowClass

Reccently I am doing a test which could get the IAccessible of the child inside the DirectUIHWND.And i used the Inspect tool and could see the childCount of the DirectUIHWND,but i cannot get it using my own programme.my code as follows:

CWnd *pMsnWin = FindWindow("IMWindowClass",NULL);
HWND hWnd;
CWnd *pConWin;
HWND hConWnd;
if (pMsnWin != NULL)
{
MessageBox("find the msn dlg window","IMWindowClass");
hWnd = pMsnWin->GetSafeHwnd();
pConWin = FindWindowEx(hWnd,NULL,"DirectUIHWND",NULL);
hConWnd = pConWin->GetSafeHwnd();
if (hConWnd != NULL)
{
pAcc = NULL;
HRESULT hr = AccessibleObjectFromWindow(hConWnd,
0xFFFFFFFC/*OBJID_CLIENT*/,
IID_IAccessible,
(void**)&pAcc);
//OBJID_CLIENT
if (S_OK == hr && pAcc != NULL)
{
MessageBox("got the parent's IAccessible interface");
//m_findAcc = 1;

}
else
{
MessageBox("accessible is not OK");
}
}
else
{
MessageBox("cannot get the IMWindow handle");
}

}
else
{
MessageBox("cannot find the msn dlg window");
}


and then i use the get_accChildCount(...) method of the GOTTED IAccessible interface pAcc to get the number of the children of the DirectUIHWND but cannot get the num of the children,and cannot use the accNavigate ,either.

I am looking forward help answer,and thank you very much!!!

Regards

Chinese KongFu




Answer this question

How to get the IAccessible of the child of the DirectUEHWND in the IMWindowClass