5

На моем Windows 7, если я запускаю PowerShell через «Win +R», "PowerShell" будет начинаться с белого текста на черном фоне, и настройки будут затронуты через [HKEY_CURRENT_USER\Colors] . Например, я могу легко изменить "красный" цвет по умолчанию, чтобы он был менее ярким:

Но если я прикреплю этот PowerShell к супербарю Windows 7 и начну его, щелкнув по значку супербара, он отобразит некоторые сумасшедшие сине-белые цвета, которые я не могу изменить. O_O:

Почему такая разница и есть ли способ настроить цвета закрепленного PowerShell таким же образом, как я могу настроить PowShell, который запускается с помощью команды "Выполнить".

1 ответ1

14

TL; DR

  1. Запустите powershell.exe
  2. ALT - SPACE -> Свойства
  3. Измените ваши настройки по желанию.
  4. Хорошо

powershell.exe - это консольная программа. Когда запускается консольная программа, Windows настраивает консоль, просматривая множество мест.

Сначала он смотрит на ярлык (.Файл LNK) вы запустили. Это то, что вы обычно видите в меню «Пуск», на рабочем столе, на панели задач. Если вы щелкнете по ярлыку и выберете «Свойства», вы увидите там множество этих опций.

Для любых параметров, которые не указаны в ярлыке (или если вы запустили.EXE напрямую, без ярлыка), Windows заглянет в реестр.

Я не смог найти исчерпывающий список ключей реестра, но вот те, о которых я знаю:

HKEY_CURRENT_USER\Console
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

Но подождите, это еще не все!

Когда вы открываете системное меню в окне консоли, вы видите как "Свойства", так и "По умолчанию".

По умолчанию изменяет один из указанных выше ключей реестра.

Свойства применяются к текущему открытому окну консоли и ярлыку, который его запустил. Если вы не использовали ярлык, потому что вы открыли.EXE непосредственно, это идет к специальному разделу реестра, вместо этого, как:

HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe

Но это не все!

Консольные программы имеют возможность изменять свои цвета. Например, в CMD вы можете сделать:

C:\>color f0

И в PowerShell:

PS> $Host.UI.RawUI.BackgroundColor = 7

Эти настройки никак не сохраняются.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .