HWND SearchWindow(CString strWinName)
{
//获得桌面窗口
CWnd* pDesktopWnd = CWnd::GetDesktopWindow();
//获得第一个子窗口
CWnd* pWnd = pDesktopWnd->GetWindow(GW_CHILD);
CString strClassName = _T("");
CString strWindowText= _T("");
strWinName.MakeUpper();
while (pWnd != NULL)
{
//获得窗口标题
::GetWindowText(pWnd->GetSafeHwnd(), strWindowText.GetBuffer(256), 256);
strWindowText.ReleaseBuffer();
strWindowText.MakeUpper();
if (strWindowText.Find(strWinName) != -1)
{
//获得窗口类名
::GetClassName(pWnd->GetSafeHwnd(), strClassName.GetBuffer(256), 256);
strClassName.ReleaseBuffer();
return pWnd->GetSafeHwnd();
}
//继续下一个子窗口
pWnd = pWnd->GetWindow(GW_HWNDNEXT);
}
return 0;
}
{
//获得桌面窗口
CWnd* pDesktopWnd = CWnd::GetDesktopWindow();
//获得第一个子窗口
CWnd* pWnd = pDesktopWnd->GetWindow(GW_CHILD);
CString strClassName = _T("");
CString strWindowText= _T("");
strWinName.MakeUpper();
while (pWnd != NULL)
{
//获得窗口标题
::GetWindowText(pWnd->GetSafeHwnd(), strWindowText.GetBuffer(256), 256);
strWindowText.ReleaseBuffer();
strWindowText.MakeUpper();
if (strWindowText.Find(strWinName) != -1)
{
//获得窗口类名
::GetClassName(pWnd->GetSafeHwnd(), strClassName.GetBuffer(256), 256);
strClassName.ReleaseBuffer();
return pWnd->GetSafeHwnd();
}
//继续下一个子窗口
pWnd = pWnd->GetWindow(GW_HWNDNEXT);
}
return 0;
}