研究了一天..终于搞定了..
在接收到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);
}
扩展信息:
&

本文介绍了如何在移动设备上实现在应用程序中控制横屏和竖屏的切换,通过监听WM_SETTINGCHANGE消息,使用ChangeDisplaySettingsEx函数进行屏幕旋转操作。详细讲述了代码实现过程,包括DMDO常量的含义以及如何通过注册表设置保持屏幕旋转状态。
最低0.47元/天 解锁文章
234

被折叠的 条评论
为什么被折叠?



