大家好,我的机器是dell vostro 1400, 显卡是intel的X3100,集成的,系统是vista home basic,我外接显示器,默认的双显示器模式是复制,即主副屏都是一样的东西,现在我想通过编程把桌面扩展过去,但是调用失败了,代码如下:
C/C++ code
DEVMODE dm;
ZeroMemory(&dm, sizeof(dm));
dm.dmSize = sizeof(dm); //DisplayDevice.DeviceName
dm.dmFields |= DM_POSITION|DM_PELSWIDTH|DM_PELSHEIGHT;//|DM_COLOR|DM_BITSPERPEL|DM_DISPLAYFREQUENCY;
dm.dmPosition.x = GetSystemMetrics(SM_CXSCREEN);
dm.dmPosition.y = 0;
dm.dmPelsWidth = 800;
dm.dmPelsHeight = 600;
//dm.dmDisplayFrequency = 60;
//dm.dmColor = 32;
LONG lRet = ChangeDisplaySettingsEx(DisplayDevice.DeviceName, &dm, NULL, /*CDS_TEST|*/CDS_UPDATEREGISTRY|CDS_NORESET, NULL);
函数返回-1,谁知道问题出在哪儿?这个代码在xp下工作正常的.
或者说还有什么方法可以扩展桌面.
这个问题第1个回答:
在Vista下右键选择Run as administrator启动程序,看看是否失败
这个问题第2个回答:
试过了,还是不行.
这个问题第3个回答:
哈哈哈哈,笔记本啊