Display Changer II是一款灵活的显示设置调整工具,它允许用户通过命令行更改电脑的显示分辨率、色彩深度、刷新率等。对游戏玩家和专业人士来说,它提供了快速切换不同显示模式的便利方式,特别适合在多显示器环境中使用。
该软件以其批处理能力著称,可以保存某个程序或游戏的特定显示设置,并在启动时自动应用这些设置。Display Changer II甚至可以记忆多个显示配置文件,无需手动修改设置,就能够适应不同应用程序的具体需要。
除了常规显示参数调整之外,Display Changer II还支持高级功能,如显示器检测,横向和纵向分辨率的互换。这使得用户能够更为精确地管理电脑屏幕的展现方式。软件的实用性和灵活性使得它成为各类用户管理多屏显示设置的有力工具。
创建配置文件
- 使用 Windows 控制面板的显示按照您喜欢的方式配置显示器。
- 使用 Display Changer II 的 -create 开关创建配置文件。
> dc2.exe -create="ThreeMonitors.xml"
- 使用 Windows 控制面板的显示将显示器配置为其他配置。
- 使用 Display Changer II 的 -configure 开关重新建立您所需的配置。
> dc2.exe -configure="ThreeMonitors.xml"
现在,您有了一个配置文件,只要您想要建立特定的显示配置,就可以使用该文件。您可以按照相同的步骤创建其他配置文件。
在自定义配置中使用应用程序
您可以使用 Display Changer II 在其自己的自定义配置中打开应用程序。这对于大型电子表格、某些游戏(尤其是儿童游戏、浏览器等)很有用。
dc2.exe -configure="MySettings.xml" notepad.exe
dc2.exe -configure="Extended.xml" C:\Windows\Notepad.exe "MyData.txt"
dc2.exe -configure="MySettings.xml" -fullscreen notepad.exe "C:\Users\John\Documents\Report.txt"
临时配置
您可以为特定任务建立临时配置,然后在完成后返回到原始配置。这对于家庭影院系统、电子表格、游戏等非常有用。
> dc2.exe -configure="TemporaryConfiguration.xml" -temporary
- (在此配置中执行您的任务)
> dc2.exe -restore
附加开关
dc2.exe -extend
dc2.exe -clone
dc2.exe -primary
故障排除
尝试使用 -test
开关查看 Windows 是否可以接受该配置。
dc2.exe -configure="ThreeMonitors.xml" -test
尝试使用 -active
开关来查看它是否会创建有效的配置文件。
dc2.exe -create="ThreeMonitors.xml" -active
设置新配置时尝试使用 -force
、 -no-optimize
和 -fuzzy
开关。创建这些故障排除文件,联系 12noon.com 的支持人员,并通过电子邮件发送这些文件。
dc2.exe -configure="ThreeMonitors.xml" -test="ThreeMonitors_Test.xml"
dc2.exe -debug="Debug.xml"
尝试使用带有 notepad.exe
的命令行(而不是传递给 Display Changer II 的任何应用程序)。如果它适用于记事本,但不适用于您的应用程序,则问题出在您的应用程序上,而不是 DC2 上。
某些应用程序(例如 Steam)在启动后会使用其他进程。 Display Changer II 不知道这些其他进程,因此如果在其命令行上指定的可执行文件退出,DC2 会恢复分辨率。此外,许多程序(尤其是游戏)会设置自己的分辨率并覆盖 DC2 可能设置的任何内容。使用更简单的程序(如上所述)测试您的命令行,以确定这是否是问题所在。如果是这样,您可以通过找出应用程序用来运行其他进程的命令行并在 DC2 的命令行上指定它来解决这个问题(这很困难且麻烦)。或者,您可以创建一个批处理文件来切换到自定义分辨率,运行应用程序,然后恢复分辨率(这更容易、更清晰)。
RunMyApp.cmd
的示例内容
start /wait dc2.exe -configure="MySpecialApp.xml" -temporary
start /wait my_special_app.exe
dc2.exe -restore
或者,您可以为每个命令创建多个快捷方式并手动调用它们。
配置文件格式
配置文件是一个非严格的 XML 文件。您可以使用 -create
开关从当前显示设置生成配置文件。这是推荐的方法,因为它可以保证文件格式正确。然后您可以轻松地将文件修改为所需的配置。
<monitors app-version="#.#.#" version="#" topology="Extend | Clone | External | Internal">
<monitor id="#" adapterHigh="0" adapterLow="#">
<name>MONITOR NAME</name>
<source id="#">
<name>\\.\DISPLAY#</name>
<path>\\?\PCI#VEN_10DE&DEV_1189&SUBSYS_84141043&REV_A...</path>
</source>
<size width="#" height="#" />
<position left="#" top="#" />
<color value="8bpp | 16bpp | 24bpp | 32bpp | Non-GDI" />
<rotation value="Identity | 90-degreesCW | 180-degreesCW | 270-degreesCW" />
<scaling value="Identity | Centered | Stretched | Aspect Ratio Centered Max | Custom | Preferred" />
<refresh numerator="#" denominator="#" />
<scanlineorder value="Unspecified | Progressive | Interlaced (upper field first) | Interlaced (lower field first)" />
</monitor>
</monitors>
<monitors> |
app-version="#" |
创建此文件的 Display Changer II 版本。 |
version="#" |
此文件格式的版本。将来,文件格式可能会发生变化,并且与旧版本的 Display Changer II 不兼容。 |
topology="TTT" |
此配置的拓扑。设置配置时不使用它;仅描述当前配置。
可能的值: |
<monitor> |
id="#" |
指定要在哪个监视器上进行操作。您必须指定 name 属性或 id 属性来标识监视器。如果有多个同名监视器,则必须使用 id 属性来标识它。
该值对于所有监视器来说是(或似乎是)唯一的。不过,我还没有测试过具有多个显卡的电脑,并且它可能仅对于单个显卡而言是唯一的。但是,如果是这样的话,似乎就不可能唯一地识别单个显示器。 |
adapterHigh="0" |
该值似乎始终为零。它可能会在未来的版本中被删除。 |
adapterLow="#" |
该值可能会在 Display Changer II 的实例之间发生变化,因此它似乎不能用于唯一标识监视器或视频卡。它可能会在未来的版本中被删除。 |
<name>MONITOR NAME</name> |
与这些设置关联的监视器的名称。如果有多个同名监视器,则必须使用 id 属性来标识它。 |
<source id="#"> |
这指定了该显示器的视频信号源。克隆的监视器具有相同的源 ID。 |
id="#" |
该值表示此监视器上显示的视频输出。 |
<name /> |
这是视频输出的名称。它可能会在未来的版本中被删除。 |
<path /> |
这是视频适配器的设备路径。 |
<size width="#" height="#" /> |
这指定了显示器显示的宽度和高度。 |
<position left="#" top="#" /> |
这将此显示器的显示位置指定为左边缘和上边缘的 x 坐标和 y 坐标。主显示始终位于 (0,0)。 |
<color value="AAA" /> |
这指定了该显示器显示的颜色深度(每像素位数)。
可能的值: |
<rotation value="RRR" /> |
这指定了该显示器的显示方向。
可能的值: |
<scaling value="SSS" /> |
这指定如何调整图像以适合屏幕。来自微软文档:
“扩展……是扩展意图,而不是执行扩展操作的明确请求。如果需要缩放(例如,源分辨率和目标分辨率不同),[Windows] 将使用调用者提供的缩放。如果不支持提供的缩放,[Windows] 将使用图形适配器的默认缩放。当调用者传递给 [Windows] 的源分辨率和目标分辨率相同时,[Windows] 始终设置身份缩放。”
|
<refresh numerator="#" denominator="#" /> |
这指定了该显示器的显示频率。为了指定有理数,刷新率被表示为分数:分子和分母。如果指定 0/0,Windows 将使用最佳刷新率,但您还必须为扫描行顺序指定“未指定”。 (见下文。) |
<scanlineorder value="SSS" /> |
这指定了该监视器显示的扫描线顺序。如果您指定刷新率 0/0,则还必须将其设置为 Unspecified 。
可能的值: |
历史
1.8.1:输出有关克隆组的更多信息。
1.8.0:更新到 Visual Studio 2022。
1.7.3:修复了另一个回归,该回归错误地处理了命令行上带引号的参数。
1.7.2:修复了错误处理命令行上指定的应用程序参数的回归。
1.7.1:改进了使用输出。
1.7.0:进一步解决了微软的“不正确的显示器ID”错误。此版本应该修复所有出现的“无法找到路径”错误。如果您以前见过此错误,请尝试此版本。
1.6.0:解决了返回错误监视器 ID 的 Microsoft 错误。如果您在以前的版本中收到“无法找到路径”错误,这可能会为您解决该问题。
1.5.3:删除了调试中使用的不必要的防护。
1.5.2:修复了使用 -debug 开关和无效显示模式时潜在的崩溃问题。
1.5.1:添加了错误消息的详细信息。
1.5.0:修复了 -extend、-clone、-secondary 和 -primary 开关的错误。改进了使用消息。
1.4.1:修复了正常模式下的启动窗口。
1.3.2:添加了-force 和-no-optimize。附加错误消息。改进了使用消息。
1.2.1:修复了多个显卡的问题。添加了 -active、-list 和 -debug 开关。添加了 64 位版本。
1.0.5:修复了在三个显示器上在克隆模式和扩展模式之间切换的问题。
1.0.4:修复了克隆两个显示器的问题。
1.0.3:修复了克隆和扩展。添加了 -primary 和 -secondary 开关。
1.0.2:实现了打开指定应用程序和-全屏开关。
1.0.0:Alpha 版本
评论(0)