如何使用API设置双屏显卡的副屏扩展到桌面? ( 积分: 200 )

  • 主题发起人 david_sale
  • 开始时间
D

david_sale

Unregistered / Unconfirmed
GUEST, unregistred user!
ChangeDisplaySettingsEx&nbsp;的API调用可以设置显示器的相关属性,如分辨率、色彩数、刷新率等,在一个多监视器系统中怎样编程才能实现扩展副显示器?类似于在显示/设置/2显示器/将Windows桌面扩展到该监视器上的功能。<br><br>请不要使用诸如调用控制面板等类似的外部调用方式,而是以API方式进行直接设置。<br><br>下面是设置相关的代码,没有实现扩展?请大家指教:<br><br>const<br>ENUM_CURRENT_SETTINGS&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;DWORD(-1);<br>ENUM_REGISTRY_SETTINGS&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;DWORD(-2);<br><br>var<br>&nbsp;&nbsp;cDevMod:TDevMode;<br>&nbsp;&nbsp;cResult:LongBool;<br><br>begin<br>&nbsp;&nbsp;cDevMod.dmSize:=SizeOf(cDevMod);<br>&nbsp;&nbsp;cResult:=EnumDisplaySettings(pchar'//./DISPLAY2'),ENUM_REGISTRY_SETTINGS,cDevMod);<br>&nbsp;&nbsp;if&nbsp;cResult&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;cdevmod.dmPelsWidth:=800;&nbsp;&nbsp;&nbsp;//设置分辨率<br>&nbsp;&nbsp;&nbsp;&nbsp;cDevMod.dmPelsHeight:=600;<br>&nbsp;&nbsp;&nbsp;&nbsp;cDevMod.dmBitsPerPel:=32;&nbsp;&nbsp;&nbsp;//色彩数&nbsp;32位真彩<br>&nbsp;&nbsp;&nbsp;&nbsp;cDevMod.dmDisplayFrequency:=60;&nbsp;&nbsp;//刷新率<br><br>&nbsp;&nbsp;&nbsp;&nbsp;cDevMod.dmOrientation:=800;<br>&nbsp;&nbsp;&nbsp;&nbsp;cDevmod.dmFields&nbsp;:=&nbsp;DM_PELSWIDTH&nbsp;or&nbsp;DM_PELSHEIGHT&nbsp;or&nbsp;DM_BITSPERPEL&nbsp;or&nbsp;DM_POSITION<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;DM_DISPLAYFREQUENCY&nbsp;or&nbsp;DM_DISPLAYFLAGS&nbsp;;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;ChangeDisplaySettingsEx(pchar('//./DISPLAY2'),&nbsp;cDevMod,&nbsp;0,&nbsp;CDS_UPDATEREGISTRY,&nbsp;nil);<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>end;
 
没有人对些有兴趣研究吗?自已顶下
 
问题已解决,感谢MSDN
 
顶部