首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 8 AutoRotation注册表值

Windows 8 AutoRotation注册表值
EN

Stack Overflow用户
提问于 2013-02-08 03:08:42
回答 1查看 821关注 0票数 0

我们正在尝试确定当前是否在c++应用程序中启用或禁用了自动旋转。下面的代码总是返回值1,即使相同键的regedit显示0。如果应用程序以标准用户或管理员身份运行,则返回相同的值。

代码语言:javascript
复制
HKEY hkMain;
LONG lRes =  RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\AutoRotation",0,KEY_QUERY_VALUE,&hkMain);
if (lRes==ERROR_SUCCESS) {
    DWORD dwRegValue=0,dwSize=0,dwType=0;
    dwSize = sizeof(DWORD);
    lRes = RegQueryValueEx(hkMain,TEXT("Enable"),NULL,&dwType,(LPBYTE)&dwRegValue,&dwSize);

    if (lRes==ERROR_SUCCESS) {
        // dwRegValue value is always 1
    }
    RegCloseKey(hkMain);
}
EN

回答 1

Stack Overflow用户

发布于 2013-02-11 21:46:12

Hans Passant的评论提供了答案:“您可能使用Regedit查看了错误的密钥。导航到SOFTWARE\Wow6432Node\Microsoft...而不是在64位操作系统上。这是32位程序读取密钥的位置。”我们需要在注册表函数调用中包含KEY_WOW64_64KEY标志。谢谢

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

https://stackoverflow.com/questions/14759020

复制
相关文章

相似问题

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