-
Всем здрасти! Столкнулся с такой проблемой...
Моя программка (что-то вроде утилиты) меняет положение своего окна в зависимости от действий пользователя и параметров экрана. Все работает нормально только до того момента, пока я не нажму комбинацию Windows+L (блокировка компа). Как только были нажаты эти заветные клавиши, в программе появляется исключение, и компилятор говорит "A call to an OS function failed". как этого избегать? кто подскажет? используется функция Screen.WorkAreaWidth... если её временно отключаю - все работает нормально.. -
Вася (22.01.10 23:41) [1]хм.попробуйте вместо Screen.WorkAreaWidth использовать нужную апи функцию.
-
Игорь Шевченко © (23.01.10 00:49) [2]maxistent © (22.01.10 14:12)
> как этого избегать?
А так и избежать - не работать при блокировке компа. -
> Вася (22.01.10 23:41) [1]
> хм.попробуйте вместо Screen.WorkAreaWidth использовать нужную
> апи функцию.
А какая именно функция за это отвечает?
> Игорь Шевченко © (23.01.10 00:49) [2]
> А так и избежать - не работать при блокировке компа.
Логично, но как узнать что комп залочен? -
Вася (25.01.10 13:35) [4]ну я же не знаю что вам нужно.видимо вы часто узнаёте размеры рабочей области?
зачем?это так критично или что-то существенно меняется при его малейшем изменении?
я бы предположил что-то будь там WorkAreaHeight.хотя та панелька может быть и сбоку.....
вот как-то примерно так попробуйте:var rt: TRect;
...
SystemParametersInfo(SPI_GETWORKAREA, 0, @rt, 0);
ShowMessage(inttostr(rt.bottom));