我改变屏幕分辨率后,最下面的系统托盘所在那个工具条位置不变,衰。。。
BOOL bResult=EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &OldDevMode);
///是否需要更改分辨率/////////////////
int nFullWidth=OldDevMode.dmPelsWidth;
int nFullHeight=OldDevMode.dmPelsHeight;
bChanged=0;
if(nFullWidth!=1024 || nFullHeight!=768)//change to 1024*768;
{
DEVMODE lpDevMode;
lpDevMode.dmBitsPerPel=16;//Change from 24 to 16
lpDevMode.dmPelsWidth=1024;
lpDevMode.dmPelsHeight=768;
lpDevMode.dmDisplayFrequency=75;
lpDevMode.dmSize=sizeof(DEVMODE);
lpDevMode.dmFields =DM_PELSWIDTH|DM_PELSHEIGHT|DM_BITSPERPEL|DM_DISPLAYFREQUENCY;
LONG result;
//EnumDisplaySettings(NULL,ENUM_REGISTRY_SETTINGS,&lpDevMode);
result=ChangeDisplaySettingsEx(NULL,&lpDevMode,NULL,0,NULL);
if (result==DISP_CHANGE_SUCCESSFUL)
{
result=ChangeDisplaySettingsEx(NULL,&lpDevMode,NULL,CDS_UPDATEREGISTRY,NULL);
bChanged=1;
::UpdateWindow(::GetDesktopWindow());
}
用::UpdateWindow(::GetDesktopWindow());更新桌面也不行。。。。