在我的 Windows 7 上,如果我通过“Win+R”运行 powershell,“powershell”将以黑色背景上的白色文本开头,并且设置会通过[HKEY_CURRENT_USER\Colors]. 例如,我可以轻松地将默认的“红色”颜色更改为不那么亮:

但是,如果我将此 powershell 固定到 Windows 7 超级栏并通过单击超级栏图标启动它,它将显示一些我无法更改的疯狂蓝白颜色 O_O:

为什么会有这种差异,是否有任何方式可以配置固定 powershell 的颜色,我可以配置通过“运行”命令启动的 powrshell。
Jay*_*uzi 17
TL; 博士
powershell.exe 是一个控制台程序。当控制台程序运行时,Windows 通过查看一堆位置来配置控制台。
首先,它查看您启动的快捷方式(.LNK 文件)。这就是您通常会在开始菜单、桌面和任务栏中看到的内容。如果您单击快捷方式并选择属性,您将在那里看到一堆这些选项。
对于快捷方式中未指定的任何选项(或者如果您直接启动 .EXE,没有快捷方式),Windows 将在注册表中查找。
我找不到所涉及的注册表项的完整列表,但以下是我所知道的:
HKEY_CURRENT_USER\Console
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
Run Code Online (Sandbox Code Playgroud)
但是等等,还有更多!
当您在控制台窗口上打开系统菜单时,您会看到“属性”和“默认值”。
默认值修改上述注册表项之一。
这些属性适用于当前打开的控制台窗口和启动它的快捷方式。如果您因为直接打开 .EXE 而没有使用快捷方式,则它会转到一个特殊的注册表项,例如:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
Run Code Online (Sandbox Code Playgroud)
但这还不是全部!
控制台程序可以修改自己的颜色。例如,在 CMD 中,您可以执行以下操作:
C:\>color f0
Run Code Online (Sandbox Code Playgroud)
在 PowerShell 中:
PS> $Host.UI.RawUI.BackgroundColor = 7
Run Code Online (Sandbox Code Playgroud)
这些设置不会以任何方式保留。
| 归档时间: |
|
| 查看次数: |
3942 次 |
| 最近记录: |