void QQSendMsg(CString strMsg,BOOL bCloseWindow)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));//切换回调用程序
CString str;
CWnd* pMainWnd = AfxGetMainWnd()->GetWindow(GW_HWNDFIRST);
while (pMainWnd)
{
HWND hWnd,hNext;
CWnd* pChildWnd = NULL;
CWnd *pDlgWnd = NULL;
hWnd = pMainWnd->m_hWnd;
pMainWnd->GetWindowText(str);
if(str.Find (L"交谈")>-1 || str.Find (L"群")>-1)//找到聊天主窗口Begin
{
hWnd=::FindWindowEx(pMainWnd->m_hWnd,NULL,L"#32770",NULL);
pDlgWnd = CWnd::FromHandle(hWnd);
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,NULL,L"AfxWnd42",NULL);
while(hWnd)//找消息填写控件
{
pChildWnd=CWnd::FromHandle(hWnd);
hNext = ::FindWindowEx(pChildWnd->m_hWnd,NULL,L"RICHEDIT20A",NULL);
if(hNext)
{
break;
}
else
{
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,hWnd,L"AfxWnd42",NULL);
}
}
if(hNext){//找到消息填写控件
CRichEditCtrl* pRich=(CRichEditCtrl*)(CWnd::FromHandle(hNext));
pRich->ReplaceSel (strMsg);//填上将要发送的内容
}else return;
//找消息发送按钮
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,NULL,NULL,NULL);
while (hWnd)
{
pChildWnd=CWnd::FromHandle(hWnd);
//CWnd *pChildWnd=CWnd::FromHandle(hWnd);
pChildWnd->GetWindowText(str);
if(str.Find (L"发送")>-1)
{
pChildWnd->SendMessage (BM_CLICK);//发送
//return;//退出
break;
}
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,hWnd,NULL,NULL);
}
if(TRUE == bCloseWindow)
{
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,NULL,NULL,NULL);
while (hWnd)
{
pChildWnd=CWnd::FromHandle(hWnd);
//CWnd *pChildWnd=CWnd::FromHandle(hWnd);
pChildWnd->GetWindowText(str);
if(str.Find (L"关闭")>-1)
{
pChildWnd->SendMessage (BM_CLICK);//关闭
//return;//退出
break;
}
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,hWnd,NULL,NULL);
}
}
//return;
}//找到聊天主窗口End
pMainWnd = pMainWnd->GetWindow(GW_HWNDNEXT); //继续找
}//While
}
void QQSendMessage(CWnd * pDlgMainWnd ,CString strMsg,BOOL bCloseWindow)
{
CString str;
CWnd* pMainWnd = pDlgMainWnd->GetWindow(GW_HWNDFIRST);
while (pMainWnd)
{
HWND hWnd,hNext;
CWnd* pChildWnd = NULL;
CWnd *pDlgWnd = NULL;
hWnd = pMainWnd->m_hWnd;
pMainWnd->GetWindowText(str);
if(str.Find (L"交谈")>-1 || str.Find (L"群")>-1)//找到聊天主窗口Begin
{
hWnd=::FindWindowEx(pMainWnd->m_hWnd,NULL,L"#32770",NULL);
pDlgWnd = CWnd::FromHandle(hWnd);
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,NULL,L"AfxWnd42",NULL);
while(hWnd)//找消息填写控件
{
pChildWnd=CWnd::FromHandle(hWnd);
hNext = ::FindWindowEx(pChildWnd->m_hWnd,NULL,L"RICHEDIT20A",NULL);
if(hNext)
{
break;
}
else
{
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,hWnd,L"AfxWnd42",NULL);
}
}
if(hNext){//找到消息填写控件
CRichEditCtrl* pRich=(CRichEditCtrl*)(CWnd::FromHandle(hNext));
pRich->ReplaceSel (strMsg);//填上将要发送的内容
}else return;
//找消息发送按钮
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,NULL,NULL,NULL);
while (hWnd)
{
pChildWnd=CWnd::FromHandle(hWnd);
//CWnd *pChildWnd=CWnd::FromHandle(hWnd);
pChildWnd->GetWindowText(str);
if(str.Find (L"发送")>-1)
{
pChildWnd->SendMessage (BM_CLICK);//发送
//return;//退出
break;
}
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,hWnd,NULL,NULL);
}
if(TRUE == bCloseWindow)
{
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,NULL,NULL,NULL);
while (hWnd)
{
pChildWnd=CWnd::FromHandle(hWnd);
//CWnd *pChildWnd=CWnd::FromHandle(hWnd);
pChildWnd->GetWindowText(str);
if(str.Find (L"关闭")>-1)
{
pChildWnd->SendMessage (BM_CLICK);//关闭
//return;//退出
break;
}
hWnd=::FindWindowEx(pDlgWnd->m_hWnd,hWnd,NULL,NULL);
}
}
//return;
}//找到聊天主窗口End
pMainWnd = pMainWnd->GetWindow(GW_HWNDNEXT); //继续找
}//While