首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取屏幕自动旋转的状态?

问如何获取屏幕自动旋转的状态?
EN

Stack Overflow用户
提问于 2012-05-29 12:35:16
回答 5查看 6.4K关注 0票数 3

如何在windows8中通过Regetry或ACPI获取屏幕自动旋转的状态(禁用或启用)?

我需要禁用屏幕自动旋转,我将使用winkey +O来更改屏幕自动旋转控件。

有没有人有过类似的经历?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-04-23 14:35:12

如果您想要更改自动旋转状态,下面的内容可能会有所帮助:

代码语言:javascript
复制
//C++
typedef BOOL (WINAPI* SETAUTOROTATION)(BOOL bEnable);

SETAUTOROTATION SetAutoRotation = (SETAUTOROTATION)GetProcAddress(GetModuleHandle(TEXT("user32.dll")), (LPCSTR)2507);
if(SetAutoRotation != NULL)
{
  SetAutoRotation(TRUE);
}

或

代码语言:javascript
复制
//C#
[DllImport("user32.dll", EntryPoint = "#2507")]
extern static bool SetAutoRotation(bool bEnable);

SetAutoRotation(true);
票数 4
EN

Stack Overflow用户

发布于 2012-06-18 11:08:22

我找到了答案。

代码语言:javascript
复制
        public enum tagAR_STATE : uint
        {
            AR_ENABLED = 0x0,
            AR_DISABLED = 0x1,
            AR_SUPPRESSED = 0x2,
            AR_REMOTESESSION = 0x4,
            AR_MULTIMON = 0x8,
            AR_NOSENSOR = 0x10,
            AR_NOT_SUPPORTED = 0x20,
            AR_DOCKED = 0x40,
            AR_LAPTOP = 0x80
        }

[DllImport("user32.dll")]
public static extern bool GetAutoRotationState(ref tagAR_STATE input);

希望能对其他人有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2014-11-04 20:06:14

This MSDN example似乎完成了这项工作,使用了一个看起来像“官方”API调用的SetDisplayAutoRotationPreferences,它在User32.dll中(而不是示例中所说的kernel.dll ),并在WinUser.h中定义。

与其他建议相比,此示例的优势在于它首先检查是否支持并首先启用自动旋转。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10793108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档