Восстановление "потерянных" IDE D2010 - PullRequest
6 голосов
/ 12 июня 2011

У меня произошел сбой проводника в Windows 7 (включены Aero Bells и Whistles) и (после перезагрузки проводника) все запущенные экземпляры IDE больше не доступны через пользовательский интерфейс Windows, кроме одного. Процессы все еще здесь, поэтому я хочу вернуть свои несохраненные изменения. Что мне делать?

Не предлагайте дампы памяти, я оставляю это как самое последнее средство, потому что восстановление исходного кода из дампа требует значительной ручной работы.

Уже отправлено сообщение WM_ACTIVATE во все окна верхнего уровня, принадлежащее bds.exe - безуспешно, кроме пары "файл изменен, перезагрузите?" подсказки.


Решено путем отправки WM_KEYDOWN и WM_KEYUP во все окна процесса.

Удалить этот вопрос или оставить открытым для новых идей? (Честно говоря, я сталкивался с такой проблемой только один раз, не зная, будет ли решение кому-нибудь полезно). Но никогда не используйте ShowWindow во всех окнах, BDS имеет множество окон, которые должны быть скрыты.


Возможная косвенная причина: я перетаскивал файлы из Проводника через миниатюры Aero Peek в Диспетчер проектов, одна из операций завершилась странным артефактом в виде значка файла, который постоянно зависал на рабочем столе, где находился Диспетчер проектов.

Ответы [ 2 ]

3 голосов
/ 12 июня 2011

Как вы думаете, IDE все еще работает и реагирует?

Не могли бы вы отправить Ctrl-Shift-S нажатие клавиши в Delphi из другого приложения для выполнения команды Файл, Сохранить все?

Том

1 голос
/ 12 июня 2011

Перейти к диспетчеру задач. Если проводник действительно не работает, вы можете попасть в диспетчер задач, используя CTRL + ALT + DEL , если у вас все еще есть панель задач, вы можете щелкнуть правой кнопкой мыши на панели задач и выберите «Запустить диспетчер задач». Вы увидите все свои приложения на панели приложений. Выберите тот, который вы хотите, а затем нажмите «Переключить на». Или щелкните правой кнопкой мыши свое приложение и выберите «Перейти к».

...