由于我使用一台带有电视作为第二个显示器的笔记本电脑,我想制作一个小脚本,它将触发屏幕设置从扩展到克隆,当它设置为克隆时,它应该将屏幕设置设置为扩展。我想用 C# 制作它,因为它是我的主要语言,我认为它可以解决我的问题。
所以我现在制作了一个像这样的控制台应用程序:
class Program
{
static void Main(string[] args)
{
DisplayChanger.Start();
}
private static Process DisplayChanger = new Process
{
StartInfo =
{
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
FileName = "DisplaySwitch.exe",
Arguments = "/extend"
}
};
}
Run Code Online (Sandbox Code Playgroud)
创建新流程效果很好。但我的问题是,如何检查“显示”的状态?我需要它,以便我可以运行测试以查看要启动的进程。
感谢您的帮助 :)
我相信我需要一个在 SetDisplayConfig() 中执行此操作的示例。
我的 Windows-7 系统有两个显示器。当我的程序处于一种模式时,第一台显示器必须打开并且是主要显示器,第二台显示器必须关闭。在其他模式下,反之亦然:第一个显示器关闭,第二个显示器打开并为主。
我搜索了又搜索如何使用 Windows SDK 函数“SetDisplayConfig()”来执行此操作,但一无所获。MSDN 对 SetDisplayConfig() 的引用对我来说太深奥了,并且没有示例代码。
我使用 ChangeDisplaySettingsEx() 来实现它,但这个函数在 Windows-7 中很不稳定。
谢谢!