in cpp/ScreenCaptureforHWND/ScreenCaptureforHWND/Win32WindowEnumeration.h [45:88]
bool IsAltTabWindow(Window const& window)
{
HWND hwnd = window.Hwnd();
HWND shellWindow = GetShellWindow();
auto title = window.Title();
auto className = window.ClassName();
if (hwnd == shellWindow)
{
return false;
}
if (title.length() == 0)
{
return false;
}
if (!IsWindowVisible(hwnd))
{
return false;
}
if (GetAncestor(hwnd, GA_ROOT) != hwnd)
{
return false;
}
LONG style = GetWindowLong(hwnd, GWL_STYLE);
if (!((style & WS_DISABLED) != WS_DISABLED))
{
return false;
}
DWORD cloaked = FALSE;
HRESULT hrTemp = DwmGetWindowAttribute(hwnd, DWMWA_CLOAKED, &cloaked, sizeof(cloaked));
if (SUCCEEDED(hrTemp) &&
cloaked == DWM_CLOAKED_SHELL)
{
return false;
}
return true;
}