旧版控制台模式

旧版控制台模式是一种兼容性工具,旨在帮助 Windows 10 上的旧命令行工具的用户。 对于未在默认 Windows 10 控制台体验中正确显示或正常运行的任何命令行工具,此模式提供了一个粗粒度的解决方案,用于将系统重新加载到较旧版本的主机托管体验。

使用旧版控制台模式

若要使用旧版控制台模式,请先打开任何主机托管窗口。 这通常是通过启动其中一个命令解释器 CMDPowerShell 来完成的。

右键单击应用程序标题栏并选择 Properties 菜单选项。 选择第一个选项卡。 Options 然后选中页面底部描述 Use legacy console的框。 OK按按钮应用。

可以通过返回到同一属性表菜单并取消选中该框,然后按该 OK框来还原设置。

注释

此设置全局应用于更改首选项后启动的所有会话。 不会更改已打开的会话。

模式之间的差异

主机主机团队努力最大程度地减少主机的旧模式与当前模式之间的差异,以确保尽可能多的客户可以运行最 up-to日期版本。 如果遇到要求你使用此处未记录的旧版控制台的问题,请联系 microsoft/终端 GitHub 存储库上的团队或通过 反馈中心 寻求帮助。

32 位 Windows 上的 16 位应用程序

32 位 Windows 上的一些 16 位应用程序使用虚拟机技术来运行称为 NTVDM。 通常,这些应用程序将图形屏幕缓冲模式与主机托管环境结合使用来运行。 只有旧版控制台体验支持这些图形缓冲模式,以及为这些应用程序提供支持所需的其他控制台 API 支持。 启动其中一个应用程序时,系统会自动选择旧版控制台环境。

IME 嵌入

旧版控制台主机通过在屏幕底部保留一行来嵌入宿主窗口中 IME 的建议部分,以获取建议。 当前的控制台主机环境改为将此活动委托给 IME 子系统,以显示控制台主机上方的覆盖窗口,并建议。 在无法实现覆盖窗口的环境中(如使用某些远程处理工具),可能需要旧版控制台主机。

API 差异

旧版本与当前之间的主要已知区别是 UTF-8 的实现。 旧版主机对 UTF-8 的支持非常基础,并且通常错误地支持 代码页 65001。 当前控制台主机包含 Windows 10 的增量改进版本,以改进此支持。 尝试从旧版控制台预测 UTF-8 的“已知不正确”解释的应用程序将发现自己在改进支持时收到不同的答案。

API 遇到的其他差异应报告给 microsoft/终端 GitHub 存储库 ,或通过 反馈中心 进行会审和可能的修正。