windows-mobile - 防止 Pocket-PC 进入横向模式

标签 windows-mobile compact-framework

我有一个 Windows Mobile 应用程序(用 C# 编写),只能在纵向模式下运行。 无论如何,是否可以通过编程方式阻止系统自动将我的应用程序旋转到横向模式,而无需更改 Windows Mobile 系统设置?

平台:Windows Mobile 6.1 Professional

最佳答案

这是一个糟糕、糟糕、糟糕的主意。该设备是一种通用设备,旨在运行多个应用程序。该平台不应该成为您的应用程序的奴隶。这就像说您有一个只能在 640x480 下运行的桌面应用程序,因此您应该能够将某人的 PC 锁定为该分辨率。

更好的解决方案是要么实际修复您的软件(喘息)以支持两种方向(并且您知道也有不同的分辨率以及方屏设备,对吧?),或者让您的应用程序至少流行当选择不支持的分辨率或方向时,会出现某种消息框来通知用户兼容性。

至于“如何”做到这一点 - 你不能。旋转由显示驱动程序处理,特别是通过调用 ExtEscape使用 DRVESC_SETSCREENROTATION。标准中GPEFlat driver随 PB 一起提供,这又调用 DynRotate 并继续调用 SetRotation(如果您真的想知道它是如何工作的,您可以查看 eval 版本中的公共(public)源代码)。

这样做的缺点是,要拦截该调用,您必须创建一个替换显示驱动程序,或者至少创建一些作为驱动程序插入的填充程序,然后依次调用现有的显示驱动程序。这些都不会在托管代码中发生。

关于windows-mobile - 防止 Pocket-PC 进入横向模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/768125/

相关文章:

java - 在 Java 中分配大量数组时避免内存碎片

html - 有没有办法使用条件注释来定位 Windows Mobile 7.5 浏览器?

compact-framework - Windows CE 在重置时删除 .NET CF

c# - Windows Mobile 用户界面架构

c# - 在 Protobuf-net 中,我如何传递一个类型对象数组,其中包含不同类型的对象,提前知道潜在类型的集合

c# - .NET winforms 应用程序在不使用 ClickOnce 的情况下更新自身的最佳方式是什么?

c++ - WM 6.x 中的 GDI 路径

css - Phonegap 使用 Windows Mobile 应用程序,如何在 CSS 文件中给出图像的完整路径?

c# - 如何在文本框中显示选定的 Datagrid 单元格值?

.net - Funq IoC Container 是否支持属性注入(inject)?