Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Windows 8中执行自动更改已连接的显示_C#_Batch File_Windows 8_Hardware_Nvidia - Fatal编程技术网

C# 在Windows 8中执行自动更改已连接的显示

C# 在Windows 8中执行自动更改已连接的显示,c#,batch-file,windows-8,hardware,nvidia,C#,Batch File,Windows 8,Hardware,Nvidia,短版 如何自动更改多个显示设置?NVIDIA,3个监视器(2个DVI和1个HDMI),GPU仅支持2个活动监视器 长版本 因此,我有一个NVIDIA GeForce GTX 560 Ti,它可以同时运行两个显示器。它有两个DVI连接和一个HDMI。我经常不使用两台桌面显示器,而只使用HDMI连接一台桌面显示器和电视 我希望使用批处理脚本或其他程序来自动地进行更改,而不是使用Windows控制面板(控制面板\所有控制面板项\显示\屏幕分辨率)或英伟达控制面板。 我找到了一些关于使用“rundll

短版

如何自动更改多个显示设置?NVIDIA,3个监视器(2个DVI和1个HDMI),GPU仅支持2个活动监视器


长版本

因此,我有一个
NVIDIA GeForce GTX 560 Ti
,它可以同时运行两个显示器。它有两个DVI连接和一个HDMI。我经常不使用两台桌面显示器,而只使用HDMI连接一台桌面显示器和电视

<>我希望使用批处理脚本或其他程序来自动地进行更改,而不是使用Windows控制面板(控制面板\所有控制面板项\显示\屏幕分辨率)或英伟达控制面板。 我找到了一些关于使用“
rundll32.exe
NvCpl.dll
dtcfg
…”等的文档。这根本不起作用。从英伟达PDF文档中使用的任何参数都不会发生任何事情。有人举过一个有效的例子吗?我也在Windows7上试用过

我尝试使用WMI查看监视器是否存在,但它仅显示两个活动监视器。它不显示第三个非活动监视器

我已尝试从User32.dll中使用
EnumDisplayDevices
,但这仅返回两个活动监视器

我怎样才能让它工作


我想让它在C#中工作,这样我也可以在更换音频设备时使用:)

虽然这可能不符合您的要求,但我在使用笔记本电脑为多个显示器供电时遇到了这个问题,最后我使用了中的显示配置文件功能。我从未使用过,但我知道它们确实支持自动化和SDK访问


注意:我与UltraMon没有任何关联,我只是使用了他们的产品,并发现它满足了我的需求。

这项功能正常吗?我面临着类似的问题。rundll32.exe命令对我也不起作用。我在WinXP上也尝试了同样的方法,效果很好。在WiXP兼容模式下,你尝试过控制面板API的样例应用程序吗?不,我还没有找到一种方法来做这个。你试过了吗?没有尝试过这个,在谷歌结果上缺少C语言示例,不知道是否有人用C++或其他语言来做屏幕更改的例子。正如我在问题中所描述的:)这解释了Win32 API中的ChangeDisplaySettingsEx函数。这显示了如何获得非活动显示。你应该看看他们