ОС не дает установить размер окна больше, чем разрешение экрана. Как обойти это ограничение?
Зачем мне это надо: Предположим для системы самообслуживания, хочу скрыть верхнюю строку с заголовком формы и кнопками из области видимости, использовав функции WinAPI SetWindowPos(), задав отрицательные значения свойства Top.
А то найдется кто-нибудь прошаренный, кто сумеет обойти ваши настройки, или просто случится какой-то сбой - в прошлом несколько раз видел рабочий стол Windows с ярлыками и кнопками на экране банкоматов.
А то найдется кто-нибудь прошаренный, кто сумеет обойти ваши настройки, или просто случится какой-то сбой - в прошлом несколько раз видел рабочий стол Windows с ярлыками и кнопками на экране банкоматов.
Спасибо, в Shell я уже давно прописал, также написал отдельное приложение на Delphi, которое постоянно шлет через WinAPI команды на активацию и разворачивание окна.
(1) на самом деле это не заголовок окна. Это элемент самого окно. Там в реале заголовок окна скрыт и при развернутом приложении уже начальная точка смещена на -8 пикселей (хотя это скорее от разрешения монитора зависит).
Наверно можно написать программу определения этого окна и поверх ее рисовать свое по координатам.
Или, как вариант, не разворачивать на полный экран, а смещать вверх на 8 + размер необходимого скрытия. Но это так... мысли вслух.
Кстати, скрытие заголовка, в котором указано 1С:Предприятие, нарушает лицензию.
Т.е. режим рабочее место не подходит только из за видимости одной строки - заголовка?
В режиме РабочееМесто мы скрываем все панели и область системных команд (главное меню и набор вспомогательных команд). Скрываем надпись Начальная страница, кнопки навигации Вперед/Назад, а также отключаем сочетания клавиш, которые используются в этих скрытых элементах интерфейса.
Можно создать элемент при помощи API или отдельного EXE файла который будет следить за окном и выводить в нужном месте блокиратор, но это конечно изврат.
в принципе могу нарисовать ехе-шник. навскидку (и чуть "с запасом") предполагаемый функционал видится следующим:
панелька с выбором окна (по фильтру введенного заголовка из всех имеющихся в наличии), ввод для него размеров и координат (левого верхнего угла) и таймаута проверки состояния окна с принудительной установкой введенного если "умник"-юзер сумел это окно отресайзить по-другому. - и принудительная установка введенного (по кнопке на панели) с включением автопроверки-автовосстановления по введенному таймауту (если введен ноль - то разово). опционально - по хот-кею спрятать/показать панельку.
в принципе возможно выдергивание всех параметров из командной строки и если указано все корректно и окно по фильтру единственное - сразу выполнение для него указанного в параметрах ресайза, включени авто-восстановления по таймайту (если он указан) и упрятывание панельки с глаз долой.
ну или ввод (и "отработка") вместо координат+положения - тупо на сколько пикселей за границы отресайзить (разрешение монитора для каждого окна определю без проблем)...
надо такое, люди?