int cx = GetSystemMetrics(SM_CXSCREEN);
int cy = GetSystemMetrics(SM_CYSCREEN);
Размер рабочей области десктопа
p.s. По ряду причин SystemParametersInfo не подходит, поэтому просьба не советовать эту функцию
Цитата: polaroid
Подскажите пожалуйста, как получить размер рабочего стола без таскбара?
p.s. По ряду причин SystemParametersInfo не подходит, поэтому просьба не советовать эту функцию
p.s. По ряду причин SystemParametersInfo не подходит, поэтому просьба не советовать эту функцию
Так
Код:
Или так
Код:
RECT rc;
GetClientRect(GetDesktopWindow(), &rc);
GetClientRect(GetDesktopWindow(), &rc);
Такие параметры возвращает функция SystemParametersInfo(SPI_GETWORKAREA,...), но по ряду причин я не могу её использовать, так что вопрос остается открытым
Может это поможет:
Цитата: polaroid
По ряду причин SystemParametersInfo не подходит, поэтому просьба не советовать эту функцию
А какой этот ряд причин?
Код:
RECT rect={0};
HWND target=FindWindowExW(
FindWindowW(L"Progman",L"Program Manager"),
NULL,L"SHELLDLL_DefView",NULL);
if(target) ::GetClientRect(target,&rect);
HWND target=FindWindowExW(
FindWindowW(L"Progman",L"Program Manager"),
NULL,L"SHELLDLL_DefView",NULL);
if(target) ::GetClientRect(target,&rect);
Всем спасибо. Kogrom отдельное спасибо за ссылку на материалы - как раз то, что было нужно. Можно тему закрывать