首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式启用辅助监视器

以编程方式启用辅助监视器
EN

Stack Overflow用户
提问于 2009-07-05 19:15:36
回答 2查看 2K关注 0票数 4

我希望能够在Windows Vista中启用带C#的辅助显示器。下面是我要做的:

代码语言:javascript
复制
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(这意味着成功),这也不会影响我的辅助监视器。

我做错了什么?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-07 04:16:56

我认为你需要设置的不仅仅是位置字段,你可以从EnumDisplaySettings获得当前的设置(至少是大小和颜色,也许还有刷新率)

票数 1
EN

Stack Overflow用户

发布于 2009-07-05 20:48:15

我自己还没有试过,但this forum的人似乎有个线索。代码不是C#,但它是可以理解的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1084657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档