zoukankan      html  css  js  c++  java
  • WM下代码实现转屏

    在WM下用户可以经常转屏,但是这个也能通过代码实现,下面是一个经过测试的代码。

    int ChangeDisplaySettings( )


        DEVMODE DevMode; 
        int RotationAngles = 0; 
        int CurrentAngle = 0; 
        int NewAngle = 0; 

        //Check for rotation support by getting the rotation angles supported. 
        memset( &DevMode, 0, sizeof( DevMode ) ); 
        DevMode.dmSize = sizeof( DevMode ); 
        DevMode.dmFields = DM_DISPLAYQUERYORIENTATION; 

        if( DISP_CHANGE_SUCCESSFUL == ChangeDisplaySettingsEx( NULL, &DevMode, NULL, CDS_TEST, NULL ) ) 
        { 
            RotationAngles = DevMode.dmDisplayOrientation; 
        } 
        else 
        { 
            RotationAngles = -1; 
        } 

        //Get the current rotation angle. 
        memset( &DevMode, 0, sizeof( DevMode ) ); 
        DevMode.dmSize = sizeof( DevMode ); 
        DevMode.dmFields = DM_DISPLAYORIENTATION; 

        if( DISP_CHANGE_SUCCESSFUL ==  ChangeDisplaySettingsEx( NULL, &DevMode, NULL, CDS_TEST, NULL ) ) 
        { 
            CurrentAngle = DevMode.dmDisplayOrientation; 
        } 
        else 
        {   
            CurrentAngle = -1; 
        } 

        //Rotate to the "next " angle. 
        if   ( ( CurrentAngle >= 0 ) && ( RotationAngles >= 0 ) ) 
        { 
            NewAngle = CurrentAngle; 
            do 
            { 
                NewAngle <<= 1; 

                if( DMDO_0 == NewAngle ) 
                { 
                    NewAngle = DMDO_270; 
                } 

                if( NewAngle > DMDO_270 ) 
                { 
                    NewAngle = DMDO_0; 
                } 
            }   while ( !( NewAngle & RotationAngles) && ( NewAngle != DMDO_0 ) ); 

            memset( &DevMode, 0, sizeof( DevMode ) ); 
            DevMode.dmSize = sizeof( DevMode ); 
            DevMode.dmFields =  DM_DISPLAYORIENTATION; 
            DevMode.dmDisplayOrientation = NewAngle; 

            if( DISP_CHANGE_SUCCESSFUL == ChangeDisplaySettingsEx( NULL, &DevMode, NULL, CDS_RESET, NULL ) ) 
            { 
            } 
            else 
            {
            } 
        } 

        return   0; 

    }

  • 相关阅读:
    基于NFS的PV动态供给(StorageClass)
    Helm学习笔记
    k8s日志收集方案
    okhttputils【 Android 一个改善的okHttp封装库】使用(三)
    PopupWindowMenuUtil【popupwindow样式菜单项列表】
    NewBuiltBottomSheetDialog【新建底部对话框】
    NormalDialogFragmentDemo【普通页面的DialogFragment】
    ArticleRemoveDelDialog【基于AlertDialog的回收删除对话框】
    ConfirmCancelBottomSheetDialog【确认取消底部对话框】
    Android-PickerView【仿iOS的PickerView控件,并封装了时间选择和选项选择这两种选择器】使用
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2458394.html
Copyright © 2011-2022 走看看