方法是wm_settingchange的时候判断屏幕方向,如果不是我要的方向,则旋转回来,不知道大家还有什么高招没有,谢谢指教!
if( SETTINGCHANGE_RESET == uFlags )
{
//查询屏幕方向
DEVMODE devmode;
memset(&devmode,0,sizeof(DEVMODE));
devmode.dmSize = sizeof(DEVMODE);
devmode.dmFields = DM_DISPLAYORIENTATION;
ChangeDisplaySettingsEx(NULL, &devmode, NULL, CDS_TEST, NULL); //查询屏幕的方向
if(devmode.dmDisplayOrientation != DMDO_0)
{
memset(&devmode,0,sizeof(DEVMODE));
devmode.dmSize = sizeof(DEVMODE);
devmode.dmFields = DM_DISPLAYORIENTATION;
devmode.dmDisplayOrientation = DMDO_0;
ChangeDisplaySettingsEx(NULL, &devmode, NULL, CDS_RESET, NULL); //查询屏幕的方向
}
{
//查询屏幕方向
DEVMODE devmode;
memset(&devmode,0,sizeof(DEVMODE));
devmode.dmSize = sizeof(DEVMODE);
devmode.dmFields = DM_DISPLAYORIENTATION;
ChangeDisplaySettingsEx(NULL, &devmode, NULL, CDS_TEST, NULL); //查询屏幕的方向
if(devmode.dmDisplayOrientation != DMDO_0)
{
memset(&devmode,0,sizeof(DEVMODE));
devmode.dmSize = sizeof(DEVMODE);
devmode.dmFields = DM_DISPLAYORIENTATION;
devmode.dmDisplayOrientation = DMDO_0;
ChangeDisplaySettingsEx(NULL, &devmode, NULL, CDS_RESET, NULL); //查询屏幕的方向
}