Одно из моих самых больших разочарований в Windows возникает, когда программа открывает индикатор выполнения в модальном окне. Если я хочу переместить окна программы на край своего рабочего пространства, чтобы отслеживать ход выполнения программы, работая над чем-то другим, я могу переместить модальное окно в другую часть экрана, но его родительское окно неподвижно. Иногда в родительском окне есть вещи, за которыми я тоже хотел бы следить. Есть ли способ изменить поведение модальных окон Win 7, чтобы родительские окна можно было перемещать и изменять их размер? (Я знаю, что могу щелкнуть правой кнопкой мыши по панели задач и позволить Windows переупорядочить окна за меня, но этот уровень контроля часто недостаточен.)
решение1
Программа AltDrag (https://code.google.com/p/altdrag/) успешно перемещает и изменяет размеры окон (используя Alt+щелчок левой кнопкой мыши и Alt+щелчок правой кнопкой мыши соответственно).
решение2
Это невозможно.
По определению модальное окно — это дочернее окно, котороетребуетпользователю взаимодействовать с ним, прежде чем программа продолжит работу.
Технически, в Win32 родитель модального окна отключен. На самом деле, это удобный способ узнать, является ли целевое окно модальным, проверив, отключено ли его родительское окно. По сути, чтобы разрешить это, вам, по сути, придется изменить саму ОС. А модальное окно — это очень-очень старая часть ОС.
Плюс это вносит непредсказуемые и неизвестные ошибки в программу. Если программа заставляет вас создать профиль, но вы решаете: "К черту это!! Я не хочу давать вам свою информацию". Затем вы нажимаете кнопку на панели инструментов в родительском окне, которая затем извлекает настройки из профиля. Что?? Профиль вернул null?? Сбой.
Иногда решение о модальных окнах принимается на самом раннем этапе процесса разработки.
Возможно, вам следует обратиться к поставщику с просьбой изменить программу.