我希望能够在 Windows Vista 中使用 C# 启用我的辅助监视器。这是我所做的:
SafeNativeMethods.EnumDisplayDevices(null, (uint)id, ref d, (uint)0);
...
SafeNativeMethods.EnumDisplaySettings(d.DeviceName, -2, ref mode0);
...
SafeNativeMethods.DEVMODE dm = mode0;
dm.dmPosition.x = 1440;
dm.dmFields = SafeNativeMethods.DM_POSITION;
long result = SafeNativeMethods.ChangeDisplaySettingsEx(d.DeviceName, ref dm, IntPtr.Zero, SafeNativeMethods.CDS_NORESET| SafeNativeMethods.CDS_UPDATEREGISTRY, IntPtr.Zero);
result = SafeNativeMethods.ChangeDisplaySettingsEx(null, ref dm, IntPtr.Zero, SafeNativeMethods.CDS_UPDATEREGISTRY, IntPtr.Zero);
即使我得到 0 结果(这意味着成功),这也不会影响我的辅助监视器。
我做错了什么?
谢谢你。
最佳答案
我认为您不仅需要设置 Position 字段,还可以从 EnumDisplaySettings 获取当前设置(至少是大小和颜色,也可能是刷新率)
关于c# - 以编程方式启用辅助监视器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1084657/