|
|
返回>Script程序语言论坛 2009-2-25 21:30:16 来自:会员 快速回复 添加新话题 |
主题内容:
有个小需求,我必需要在程序内控制一部计算机的双显卡在"延伸桌面模式"与"同步模式"中切换
非常需要范例程序代码 或者 提供我正确的解答方向 使用 Windows 标准功能就好,希望不用锁定特定厂牌显卡 目前,我已经可以利用 ChangeDisplaySettingsEx 这个 WinAPI 做好延伸桌面设定,但是始终无法由"延伸桌面模式"中切换到"同步模式" 读多次 MSDN 文件,发现没有强调如何利用 ChangeDisplaySettingsEx 设定 "同步模式",一直很担心我的方向错误 在 Google 搜寻: ChangeDisplaySettings Dual Display ChangeDisplaySettings Dual Monitor Dual Display Clone Dual Display API 多数是找到延伸桌面的相关范例,是我用错关键字?
引用
Dino
Hello 希望有人听懂我的描述...
目前我找到 NVidia 专用的设定方式(命令列)
rundll32.exe nvcpl.dll,dtcfg setview 1 clone DA AA
参考文件:http://developer.download.nvidia.com/SDK/9.5/Samples/DEMOS/common/src/NvCpl/docs/NVControlPanel_API.pdf
还要收集 ATI 的设定方法
看起来有点像是要根据驱动程式去设计了,不晓得有没有更好的方式....
引用
Dino
继续研究下去可能得要为每一代的显示卡作处理了,这不是我的初衷
目前有了 NVidia 的方案而先打住继续研究下去的兴趣,工作的范围目前可以结案。
转个念看到有人在讨论 "萤幕擷取" "萤幕放大镜" 功能如何撰写,开始心生歹念
在见识到别人简单的 Sample code 鼓励下,我作了这一个尝试...
用 .NET 开发 WPF 应用程式,程式启动时为第二枚萤幕建立一个全景的视窗,然后起一个 Thread 利用 BitBlt 函数把主要萤幕画到第二枚萤幕上去,如果有第三枚则比照办理
优点: - 只要能够开出延伸桌面就好了 - 不管是哪个厂牌的显示卡 - 不管是不是"同一张显卡"上的双萤幕功能 - 延伸桌面解析度不同也没有关系,不过解析度不同时要能忍受放大缩小,解析度相同时则非常理想 缺点: - 毕竟是画上去的,要忍受一点效能上的损失 - 必须是安装 .NET Framework 而且跑 WPF 会顺的电脑 - 在双萤幕上测试大概耗用 10% CPU 效能 (程式原型还没最佳化,应该还有空间)
|
暂无评论,欢迎您成为第一个评论者!(仅开放注册登录会员)
|
|
|