发信人: 1landonsea(一路萤火虫)
整理人: wenbobo(2002-08-05 19:49:49), 站内信件
|
没什么特别的。不过是换分辨率:
BOOL Kp_ChangeDisplaySettings( int width, int height, DWORD dwFrequency , int bitDepth = 0 )
{
int change;
DEVMODE dm = { 0 } ;
dm.dmSize = sizeof(dm);
dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFREQUENCY ;
dm.dmPelsWidth = width;
dm.dmPelsHeight = height;
dm.dmDisplayFrequency = dwFrequency ;
if( bitDepth != 0 )
{
dm.dmFields |= DM_BITSPERPEL;
dm.dmBitsPerPel = bitDepth;
} // change = ChangeDisplaySettings(&dm, CDS_TEST);
change = ChangeDisplaySettings(&dm, CDS_UPDATEREGISTRY ) ;
//EnumDisplaySettings
if( change == DISP_CHANGE_SUCCESSFUL )
return TRUE;
else
return FALSE;
}
void SwitchDisplaySetting ()
{
DEVMODE dm = { 0 } ;
dm.dmSize = sizeof(dm);
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS , &dm ) ;
if ( dm.dmPelsWidth == 800 )
{
Kp_ChangeDisplaySettings( 1024 , 768 , dm.dmDisplayFrequency , dm.dmBitsPerPel ) ;
}
else if ( dm.dmPelsWidth == 1024 )
{
Kp_ChangeDisplaySettings( 800 , 600 , dm.dmDisplayFrequency , dm.dmBitsPerPel ) ;
}
} |
|