|
我用ChangeDisplaySettingsEx在笔记本双显示器(LCD+CRT)上只实现了桌面扩展输出和禁用桌面扩展输出的功能,但是我还想在实现双显示器的clone输出,试了很多次也没实现。 在MSDN上看到有VideoPortCreateSecondaryDisplay方法貌似可以,但是这个函数似乎应该在驱动中调用,我不知道miniport driver的符号链接是什么(难道是DISPLAYx),没试,而且从http://www.osronline.com/DDKx/graphics/vmport_0oiv.htm#ddk_singleview_mode_gg这里的资料看来,IOCTL_VIDEO_SWITCH_DUALVIEW控制码是由ChangeDisplaySettings发出的,那样的话,可能还是只能实现扩展桌面,而不能clone输出,DOS下的话还可以调用INT 10H,windows下应该桌面做呢,谁有好的建议,不胜感激啊。
这个问题第1个回答:
关注下,没接触过-。-
这个问题第2个回答:
http://msdn.microsoft.com/en-us/library/aa907009.aspx SetActiveTopology uses the data that was received from a previous call to the IViewHelper::GetActiveTopology method. For the topology that the SetActiveTopology parameters specify to take affect, the VidPN must be invalidated through a call to the IViewHelper::Commit method. SetActiveTopology is used only when a display configuration that cannot be established through a call to the Win32 ChangeDisplaySettingsEx function must be set. For example, for clone view on a graphics adapter, the adapter name is the string that was obtained from the DeviceKey member of the DISPLAY_DEVICE structure in a call to the EnumDisplayDevices function. For more information about ChangeDisplaySettingsEx, DISPLAY_DEVICE, and EnumDisplayDevices, see the Windows SDK documentation.
这个问题第3个回答:
The following sections document the IViewHelper COM interface that a Transient Multi-Monitor Manager (TMM) application implements and structures that TMM uses. The IViewHelper COM interface provides methods to configure a Video Present Network (VidPN). Hardware vendors should create TMM applications that implement IViewHelper so that the operating system can place a laptop computer display into clone view. 用不了的,我也编译过了,说是虚函数成员不能调用,看来似乎只能在驱动里实现了,可是显卡驱动是个挺大的课题,即便是个miniport我也写不出来啊,不过还是多谢你的帮忙
这个问题第4个回答:
貌似要就调用显卡带的功能吧 http://tcanddotnet.blogspot.com/2008/02/changedisplaysettingsex.html http://http.download.nvidia.com/developer/SDK/Individual_Samples/DEMOS/common/src/NvCpl/docs/NVControlPanel_API.pdf
这个问题第5个回答:
是啊,nv的资料我以前找到过,但是我不太想以来显卡驱动(因为客户机器上不一定都时nv的卡),我以为ChangeDisplaySettingsEx既然能激活第二个显示器,就应该也可以给clone信号,可是好像时不行,很费解啊
这个问题第6个回答:
想想操作系统界面就没提供克隆输出的选项,也许就没有可用API吧
这个问题第7个回答:
在笔记本的桌面属性里有的,扩展桌面功能,但是不知道,在没装显卡驱动前会不会是灰选,不过EnumDisplayDevices函数,在我拔掉VGA输出线时会有反应,函数会失败,进程被终止
这个问题第8个回答:
很有可能是显卡驱动相关的~没固定API的
这个问题第9个回答:
无奈,最终还是开bios功能来实现了,帖结了,有意讨论的找我。
这个问题第10个回答:
无奈,最终还是开bios功能来实现了,帖结了,有意讨论的找我。
|