Ответы Хуча и Энса на самом деле не работают в системе с несколькими мониторами. Это потому что
Прямоугольник окна рабочего стола, возвращаемый GetWindowRect или GetClientRect, всегда равен прямоугольнику основного монитора для совместимости с существующими приложениями.
См. https://docs.microsoft.com/en-us/windows/desktop/gdi/multiple-monitor-system-metrics
для справки.
Вышеуказанное означает, что если окно является полноэкранным на мониторе, который не является основным монитором системы, координаты (относительно виртуального экрана) полностью отличаются от координат окна рабочего стола.
Я исправил это с помощью следующей функции:
bool isFullscreen(HWND windowHandle)
{
MONITORINFO monitorInfo = { 0 };
monitorInfo.cbSize = sizeof(MONITORINFO);
GetMonitorInfo(MonitorFromWindow(windowHandle, MONITOR_DEFAULTTOPRIMARY), &monitorInfo);
RECT windowRect;
GetWindowRect(windowHandle, &windowRect);
return windowRect.left == monitorInfo.rcMonitor.left
&& windowRect.right == monitorInfo.rcMonitor.right
&& windowRect.top == monitorInfo.rcMonitor.top
&& windowRect.bottom == monitorInfo.rcMonitor.bottom;
}