Как стать автором
Обновить

Почему консоль Windows не использует тем оформления

Время на прочтение2 мин
Количество просмотров747
Не думаю, что это интересно всем и каждому, просто любопытная деталь.
Наверняка вы не раз, и не два использовали CMD. Я более чем уверен, что вы обращали внимание на неоформленность окна консоли. Это тем более бросается в глаза, когда переходишь на Висту — в ней заголовок окна использует текущую тему. В чем же дело?

Ок, идем на сайт MS — http://support.microsoft.com/kb/306509. Если кто не отваживается кликать на ссылки, содержащие microsoft.com, привожу текст со страницы поддержки с собственным переводом:
«Окно командной строки запущено под Client Server Runtime System, которая не может быть оформлена».

Прямо скажем, все яснее ясного. Прям настолько ясно, что я не удержался и стал искать дальше. Довольно быстро выяснилось, что я не один такой умный и вопрос уже всплывал на блоге Реймонда Чена. Кстати, интересный и известный товарищ, вообще интересно пишет.

Чен пишет, что CSRSS — штука критически важная. Пнешь — может и развалиться, а за собой утащить и всю систему. То есть понятно, что лишние навороты ей ни к чему. Команда разработчиков CSRSS решила, что им не хочется рисковать, позволяя менеджеру тем выполнять свой код под их процессом. С другой стороны, оформлять командную строку не позволяет сама архитектура — CSRSS работает как отдельная подсистема и менеджер оформления просто не может получить к ней доступ.

Так что же с Вистой? И в Висте, пишет Чен, CSRSS не оформлена. Оформлена рамка окна, но не консоль. Присмотритесь — полоса прокрутки по-прежнему выполнена в классическом стиле.
Рамку окрашивает менеджер окон и, по его же вине, мы не можем теперь перетаскивать файлы в окно консоли. По соображениям безопасности, в Висте мы не можем передавать сообщения из одного сервиса в другой, более высокого уровня. CSRSS запущен с очень высоким уровнем безопасности и не позволяет случайному процессу (такому как Эксплорер), передавать свои сообщения, которые используются при drag and drop.
Теги:
Хабы:
Всего голосов 57: ↑51 и ↓6+45
Комментарии72

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
24 сентября
Astra DevConf 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн