mobile 实现横屏竖屏切换--禁止转屏
研究了一天..终于搞定了..
在接收到WM_SETTINGCHANGE以后就判断wParam 是否等于0x3002, 如果是就执行如下旋转操作(必须得是postmessage来执行以下操作 ):
DEVMODE devMode;
SecureZeroMemory(&devMode, sizeof(DEVMODE));
devMode.dmSize = sizeof(devMode);
devMode.dmFields = DM_DISPLAYORIENTATION;
ChangeDisplaySettingsEx(NULL, &devMode, NULL, CDS_TEST, NULL);
if (DMDO_0 == devMode.dmDisplayOrientation)
{
devMode.dmDisplayOrientation = DMDO_90;
ChangeDisplaySettingsEx(NULL, &devMode, NULL, CDS_RESET, NULL);
}
扩展信息:
切换屏幕旋转模式通过调用 ChangeDisplaySettingsEx 来实现,如:
DEVMODE devmode = {0};
devmode.dmSize = sizeof(DEVMODE);
devmode.dmDisplayOrientation = DMDO_90; //水平模式
devmode.dmFields = DM_DISPLAYORIENTATION;
ChangeDisplaySettingsEx(NULL, &devmode, NULL, 0, NULL);
DMDO_0 不旋转
DMDO_90 旋转90度
DMDO_180 旋转180度
DMDO_270 旋转270度
取得当前模式的代码如下:
DEVMODE devmode = {0};
devmode.dmSize = sizeof(DEVMODE);
devmode.dmFields = DM_DISPLAYORIENTATION;
ChangeDisplaySettingsEx(NULL, &devmode, 0, CDS_TEST, NULL);
通过 devmode.dmDisplayOrientation 的值可以判断当前模式。
值得注意的是,这样切换模式并不是永久的,当设备重新起动后,就会还原为初始状态。
如果你需要在保留切换的屏幕模式,可以通过设置注册表中HKEY_LOCAL_MACHINE/System/GDI/Rotation 下的两个键值实现
Angle - DWORD (0, 90, 180, 270)
LandscapeMode - DWORD (0,1)
mobile 实现横屏竖屏切换--禁止转屏相关推荐
- Android 模拟器横屏竖屏切换设置
Android 模拟器横屏竖屏切换设置 时间:2012-07-04 来源:设计与开发 作者:Daniel 点击:5571 摘要: Android 模拟器旋转,横屏.竖屏切换设置,andr ...
- vue手机端横屏竖屏切换
1.建一个空白的vue文件,添加上如下代码 data() { this.$router.go(-1) return {} } 2.在需要横屏竖屏切换的页面中加入如下代码: beforeMount() ...
- Android横屏竖屏切换的问题
转自:http://blog.sina.com.cn/s/blog_77c632410101790w.html 一.禁止横竖屏转换 Android横竖屏切换在手机开发中比较常见,很多软件在开发过程中为 ...
- [iOS]关于iOS中界面视图横屏/竖屏切换的问题总结
最近在项目中有个这样的需求:整个APP中界面也竖屏为主,且不能自动横竖屏切换,个别页面可以根据手机的方向横竖屏切换;其实实现起来也并不难,关于视图是否能旋转主要还是有没有设置支持,在工程的Genera ...
- android 横屏finish 会变竖屏,[android] Activity 的生命周期 以及 横屏竖屏切换时 Activity 的状态变化...
生命周期 Android 系统在Activity 生命周期中加入一些钩子,我们可以在这些系统预留的钩子中做一些事情. 例举了 7 个常用的钩子:protected void onCreate(Bund ...
- android 手机屏幕横屏竖屏切换
第一篇博客哦~ 本例子是实现简单的屏幕横竖切换的. 主要知识点: getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRA ...
- 小程序横屏竖屏切换监听
一.在需要切换的页面.json中配置代码 注:需要提前开启手机的屏幕旋转 {"usingComponents": {"nav-bar": "/pack ...
- Android禁止横屏竖屏切换
在Android中要让一个程序的界面始终保持一个方向,不随手机方向转动而变化的办法: 只要在AndroidManifest.xml里面配置一下就可以了. 在AndroidManifest.xml的ac ...
- android横屏竖屏设置
Android横竖屏切换总结(Android资料) Android横竖屏要解决的问题应该就两个: 一.布局问题 二.重新载入问题 1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的 ...
最新文章
- 【怎样写代码】小技巧 -- 关于方法中修饰形参的关键词
- php获取svn文件,然后ftp上传服务器代码
- 升级WordPress时提示”另一更新正在进行”
- 深入浅出JMS(一)——JMS简单介绍
- Serverless Devs 2.0 开箱测评:Serverless 开发最佳实践
- php瀑布墙,phpwind Next增加“瀑布流”图墙展示模式
- MySQL入门 (六) : 字元集与资料库
- 【Flink】Flink Committing offsets to Kafka takes longer than the checkpoint interval
- access的papersize命令_巡检命令及查看参数
- springboot 2.x 使用定时任务执行多次问题
- C#高级编程9 第18章 部署
- 展示全面快速响应能力 华为全线解决方案亮相北京国际通信展
- 学生选课管理系统c语言程序报告,学生选课管理系统c语言程序
- 不是一个PDF文件或该文件已损坏
- matplotlib 配色之内置 colormap
- 大规模服务设计部署经验
- XLSReadWriteII 读取EXCEL数据 动态响应字段的列编号
- 使用k-means聚类anchors
- 2022电工(初级)上岗证题目及答案
- 在Ubuntu 18下安装SIMULIA Abaqus 2020