李国帅 2010
int m_nBitsPerPel; //获得系统颜色数
int m_nDisplayFrequency;//至少包含分辨率和刷新率
m_nBitsPerPel = 16;
m_nDisplayFrequency = 70;
DEVMODE dmDevMode;
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dmDevMode);
m_nBitsPerPel = dmDevMode.dmBitsPerPel;
m_nDisplayFrequency = dmDevMode.dmDisplayFrequency;
if (m_nBitsPerPel > 16)
{
LONG nConfirm = IDNO;
LONG nCurLang = ((CTSRunApp*)AfxGetApp())->m_nCurLang;
if (nCurLang == 0)
{
nConfirm = MessageBox(L"客户端在16位显示模式下有较好的性能,是否要改变?", L"提示", MB_YESNO);
}
else
{
nConfirm = MessageBox(L"Client have better performance in 16 BitsPerPel, will you change to it?", L"Tip", MB_YESNO);
}
if (nConfirm == IDYES)
{
memset(&dmDevMode, 0, sizeof (dmDevMode));
dmDevMode.dmBitsPerPel = 16;
dmDevMode.dmDisplayFrequency = m_nDisplayFrequency;
dmDevMode.dmSize = sizeof(DEVMODE);
dmDevMode.dmFields = DM_BITSPERPEL | DM_DISPLAYFREQUENCY;
ChangeDisplaySettings(&dmDevMode, CDS_FULLSCREEN);
}
}