Windows Mobile下横竖屏切换

 

我们可以通过API用编程的方式切屏,用到的API:ChangeDisplaySettingsEx

 

 

旋转90度代码如下:

DEVMODE devmode = {0};
devmode.dmSize = sizeof(DEVMODE);
devmode.dmDisplayOrientation = DMDO_90;   //可变 DMDO_0 DMDO_180 DMDO_270

devmode.dmFields = DM_DISPLAYORIENTATION;
ChangeDisplaySettingsEx(NULL, &devmode, NULL, 0, NULL);

 

取得当前模式的代码如下:

DEVMODE devmode = {0};
devmode.dmSize = sizeof(DEVMODE);
devmode.dmFields = DM_DISPLAYORIENTATION;
ChangeDisplaySettingsEx(NULL, &devmode, 0, CDS_TEST, NULL);

 

 

如果你想阻止屏幕的自动切换,就可以在用如下代码完成:

case WM_SIZE:

case WM_SETTINGCHANGE:

{

    DEVMODE devmode = {0};
    devmode.dmSize = sizeof(DEVMODE);
    devmode.dmDisplayOrientation = DMDO_90;   //可变 DMDO_0 DMDO_180 DMDO_270

    devmode.dmFields = DM_DISPLAYORIENTATION;
    ChangeDisplaySettingsEx(NULL, &devmode, NULL, 0, NULL);

}

break;

 

值得注意的是,这样切换模式并不是永久的,当设备重新起动后,就会还原为初始状态。
如果你需要在保留切换的屏幕模式,可以通过设置注册表中

 

HKEY_LOCAL_MACHINE/System/GDI/Rotation 下的两个键值实现
Angle - DWORD (0, 90, 180, 270)
LandscapeMode - DWORD (0,1)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值