什么是 32 位和 64 位 C++ 代码?

2023-11-30

我试图从注册表项获取一个值,最终的程序必须在 32 位和 64 位机器上运行。

到目前为止的代码是:

   HKEY hKey; 
   LONG Result1;
   LONG result2;
   Result1 = RegOpenKeyEx(HKEY_CLASSES_ROOT,L"Word.Application\\CurVer",0,KEY_READ,&hKey);
    cout << Result1;
    cout << "\n";
   TCHAR value[255];
   DWORD BufferSize = 255;
   result2 = RegGetValue(hKey, L"Word.Application\\CurVer", L"", RRF_RT_ANY, NULL, (PVOID)&value, &BufferSize);
   cout << result2;

我从 RegGetValue 收到错误“2”,并查看了这个RegOpenKeyEx/RegGetValue 对存在的键返回 ERROR_FILE_NOT_FOUND它说如果它是“64 位操作系统上的 32 位代码”,它将无法工作,但我不明白这意味着什么。

是必须针对不同架构编译的程序,还是特定于 32 位的 RegGetValue?

抱歉,我的大部分 C++ 编程都是在 64 位计算机成为主流之前完成的,此后我偶尔编写的项目都没有遇到此问题。


在 64 位 Windows 上有两个注册表视图:32 位视图和 64 位视图。 MSDN 上的主题中对此进行了描述访问备用注册表视图.

默认情况下,32 位进程将从 32 位视图读取,64 位进程将从 64 位视图读取。如果您希望从特定视图读取,无论进程的体系结构如何,您都需要提供以下标志之一:KEY_WOW64_64KEY or KEY_WOW64_32KEY.

因此,如果您需要的数据位于 32 位视图中,请传递KEY_WOW64_32KEY。如果数据在64位视图通道中KEY_WOW64_64KEY。如果数据可以在任一键中,则检查两次,一旦通过KEY_WOW64_32KEY并再次经过KEY_WOW64_64KEY.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是 32 位和 64 位 C++ 代码? 的相关文章

  • ASP.NET 会员电子邮件验证

    尝试基于 C 创建电子邮件验证本文 https web archive org web 20211020153319 https www 4guysfromrolla com articles 062508 1 aspx 我创建了一个 ja
  • C/C++ 程序是在 CPU 上运行还是在内核上运行?

    我已经编程很多年了 但有一件事我一直不明白 有两种类型的编程语言 编译型语言和解释型语言 编译型语言首先需要编译成解释型语言 然后才能执行 例如 C C 需要先编译为机器语言 然后才能执行 我的问题来了 谁真正运行已编译的 C C Wind
  • 有没有办法让我的程序用更少的代码运行?

    我为学校作业编写了以下代码 它编译并打印所有正确的消息 但出于我自己的好奇心 我想知道我的代码是否可以缩短并且仍然有效 我尝试了 signal 而不是 sigaction 但我听说 sigaction 比 signal 更受青睐 此外 此任
  • Visual Studio 2015 C# 找不到参考

    我在使用 Visual Studio 2015 和 C 时遇到了问题 在同一解决方案中添加对其他项目的引用时 Visual Studio 找不到所有类 例如 我创建了一个单元测试项目 我添加了对我创建的通信项目的引用 库中有 10 个类 但
  • std::async 参数的生命周期是多少?

    看来函数的参数是通过std async分享未来的生活 include
  • 使用 pthread_cond_signal 优雅地终止线程被证明是有问题的

    我需要发射一堆线程 并希望优雅地将它们拉下来 我正在尝试使用pthread cond signal pthread cond wait实现这一目标 但遇到了问题 这是我的代码 首先是thread main static void thrma
  • 如何通过批处理文件打开Windows防火墙上的端口

    有没有办法在批处理文件中通过批处理文件打开 Windows 上的特定端口 如果让安装程序为我们的服务器应用程序执行此操作 而不是让用户手动执行此操作 那就太好了 Use 执行程序 http technet microsoft com en
  • 在 C++ 中初始化指针

    可以在声明时将指针分配给值吗 像这样的东西 int p 1000 是的 您可以在声明时初始化指向值的指针 但是您不能这样做 int p 1000 是个地址运算符 并且您不能将其应用于常量 尽管如果可以 那会很有趣 尝试使用另一个变量 int
  • Docker 不遵循构建目录中的符号链接

    我正在对一个应用程序进行 Docker 化 其中涉及通过 Clang 将二进制文件与其他 C 文件链接 我们维护二进制文件的符号链接版本 因为它们在整个代码库中使用 我的 Docker 构建目录包含整个代码库 包括源文件以及这些源文件的符号
  • 在 OpenGL 中使用不同的着色器程序?

    我必须在 OpenGL 中针对不同的对象使用两个不同的着色器程序 我发现我必须使用glUseProgram 在不同的着色器程序之间切换 但对此没有太多信息 鉴于我有两个用于不同对象的不同着色器程序 如何为每个着色器程序生成和绑定 VAO 和
  • C++ 中类型信息何时向后流动?

    我刚刚看了 Stephan T Lavavej 的演讲CppCon 2018关于 类模板参数推导 在哪里某个点 https youtu be H ut6j1BYU t 941他顺便说 在 C 中 类型信息几乎永远不会向后流动 我不得不说 几
  • 不可能的事情发生了!这是什么意思?

    我遇到了一个有趣的运行时错误 我认为这是某种内存泄漏 我写了以下程序 C Code include
  • 为什么 C++20 范围不只提供管道语法?

    我知道这个问题听起来很奇怪 所以这里有一些背景信息 最近 我很失望地了解到 C 20 范围内的映射缩减并不像人们所期望的那样工作 即 const double val data transform accumulate 不起作用 你必须这样
  • Xamarin.Android JmDNS 绑定问题

    我开始研究 Xamarin Android 的 JmDNS 绑定 我设法构建了绑定 但无法从代码中引用它 https github com ytn3rd monodroid bindings tree master JmDNS https
  • C# 或 Windows 相当于 OS X 的 Core Data?

    我迟到了 现在才开始在 OS X Cocoa 中使用 Core Data 它令人难以置信 并且确实改变了我看待事物的方式 C 或现代 Windows 框架中是否有等效的技术 即拥有可免费保存 数据管理 删除 搜索的托管数据类型 还想知道Li
  • 来自资源中 ImageSource 的 System.Drawing.Image

    我的问题与这个非常相似 wpf图像资源以及运行时在wpf控件中更改图像 https stackoverflow com questions 940592 wpf image resources and changing image in w
  • 不兼容的指针到字符转换

    我正在编写一个程序 将卡片值写入 52 个点字符的多维数组中 该程序是一个测试数组 稍后我将其作为函数写入主程序中 在程序中 我通过以下方式初始化 for 循环计数0通过51 我用一个switch语句调制13将卡牌值分配给数组点 但是 我收
  • 您的 C++ 程序中是否仍然存在内存分配失败问题 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在为公司写一些指导方针 我需要回答一些棘手的问题 这一项是相当困难的 解决方案可以是 根本不跟踪 确保使用 new 分配对象 这会在分配失败
  • WPF DataGrid 选定项

    我有一个 DataGrid 用户可以通过在最后一行输入数据来添加项目 我还有一个按钮可以删除当前选定的项目 但是 当选择最后一行 空 用于添加新项目 时 最后选定的项目将保留在 SelectedItem 中 因此 如果我打开窗口 选择最后一
  • 使用批处理文件挂载 .iso 文件 win windows 8 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个游戏 已备份到 iso 文件 笔记本电脑中的磁盘驱动器很吵 并且希望从单个快捷方式运行它 而不必每次都挂载 iso 文件 我运行

随机推荐

  • 如何为 adobe air 应用程序设置图标

    我正在开发 Adob e Air 应用程序 我需要为应用程序设置一个图标 以便它显示在任务栏上 我将图标标签添加到描述符文件中 但它不起作用 我真的不知道为什么 有什么想法吗 有两件事可能会让你失望 1 图标块在自动生成的描述符文件中默认被
  • 首次使用 AVX 256 位向量会减慢 128 位向量和 AVX 标量运算

    最初 我试图重现 Agner Fog 的微架构指南部分 YMM 和 ZMM 向量指令的预热期 中描述的效果 其中写道 处理器在不使用时关闭向量执行单元的上部部分 以节省电力 在大约 56 000 个时钟周期或 14 s 的初始预热期间 具有
  • 将流类型包含到 JSDoc 中

    我读过一些issues在 github 上和projects构建在 Flow 之上 用于在 Flow 和 JSDoc 之间创建 桥梁 或者简单地从 Flow 类型注释生成 JSDoc 他们都没有回答我的这个 简单 需求 问 如何将 Flow
  • 使用C C++删除文件恢复程序[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我想编写一个程序 可以从硬盘驱动器 FAT32 NTFS分区Windows 恢复已删除的文件 我不知道从哪里开始 这件事的出发点应该是什么 我应该读什么来追求这个目标 需要帮助 我应该
  • 没有模型和 Ajax 的 POST Json

    现在 我只想使用 HTTP POST 将 json 发送到 asp net mvc2 控制器 由于 JSON 实际上是 JSON 对象的列表 并且每个对象都有不同的字段和长度 因此我很难构建输入模型 所以我想知道是否有一种方法可以将没有模型
  • 如何在 lucene 4.0 中使用 ngram tokenizer?

    我正在研究不带空格的文本索引大型文本文件 目前我有 ngram 方法来生成长度为 12 的字符串 然后对它们进行索引 与搜索方式相同 我从用户处获取字符串 生成 12 的 ngram 然后使用它来构建查询 在搜索时 请阅读 lucene 中
  • 无法绑定到属于 C#/XAML 应用程序中 WindowsFormsHost Child 对象的属性的解决方法?

    我有一个 C WPF 4 51 应用程序 据我所知 您不能绑定到属于 WPF 子对象的对象的属性WindowsFormsHost控制 如果我的这个假设是错误的 请告诉我该怎么做 与 WindowsFormsHost 绑定 就我而言 我有一个
  • TFS 非 Windows 用户

    如何将非 Windows 用户添加到我的 Team Foundation Server 2012 Express 版本 我们与一家外包公司合作 我们希望建立一个可供国内外团队访问 TFS Express 版本的设置 由于外部开发人员不是我们
  • 如何求两个CG点之间的距离?

    当我们在 UIScrollView 中用两根手指进行多点触控时 我们得到两个 CG 点 我想找出他们之间的距离 然后当我们再次捏 内部或外部 时 我们将再次得到两点 然后在再次找到这两点之间的距离后 我想决定是捏进去还是捏出来 如果我捏紧了
  • 在 Visual C++ IDE 的输出窗口上打印输出

    如何在 Visual C 中的输出窗口上进行打印 我正在处理的项目不是控制台窗口项目类型 当我构建并运行它时 它不会打开控制台窗口 相反 它会打开一个 win32 应用程序 该应用程序不是我构建的 我只是向其中添加一些东西 我对 C 还很陌
  • 如何在 jetpack compose 中将视图模型从一个屏幕共享到另一个屏幕?

    我正在尝试学习 android jetpack compose 并且我有简单的应用程序 在 ScreenA 中 我有一个文本字段 当我单击按钮时 我会将这些数据保存到 firestore 当我进入 ScreenB 时 我想将城市名称也保存在
  • HTML 列表结构中的 PHP 递归菜单

    这是 html 结构 它应该是这样的 li a href class menulink Dropdown One a ul li a href Navigation Item 1 a li li a href class sub Navig
  • Subsonic 3 Linq 投影问题

    好吧 我用这个把头撞在墙上 给定数据库中名为 Address Customer 和 CustomerType 的表 我想要显示有关客户的组合摘要信息 因此我创建一个查询来连接这两个表并检索指定的结果 var customers from c
  • C# 闭包,为什么循环变量是通过引用捕获的?

    在此示例中 我尝试按值传递 但改为传递引用 for int i 0 i lt 10 i Thread t new Thread gt new PhoneJobTest i t Start 这可以这样补救 for int i 0 i lt 1
  • javascript 创建 INcode 工作区(框架)

    如果我有一个面向公众的小 框架 我怎样才能打造自己的 工作空间 所以我可以使用我想要的任何变量名称 我怎样才能完成它 使用匿名函数包装器 使用定义的任何变量var不适用于包装器外部的代码 每当您想要定义方法或属性时 请将它们添加到tobep
  • Flutter:为什么 setState(( ) { }) 一次又一次设置数据

    I use setState 用于为变量赋值 但它一次又一次地打印 为什么会出现这样的反应呢 我该如何解决它 这是我的代码 class Sample extends StatefulWidget override SampleState c
  • Lua随机数? [复制]

    这个问题在这里已经有答案了 如何生成每次运行脚本时都不同的随机整数 我目前正在做一个 不可能的测验 它使用随机数从表格中选择一个问题 每次我运行脚本时 问题的顺序都是相同的 我还使用 table remove 在提出问题后从表中删除问题 然
  • 明确共享不适用于帖子 - Facebook Android SDK Open Graph 故事

    我目前正在使用 Facebook Android SDK 3 19 1 将开放图谱故事发布到我们用户的时间线 该故事已添加到用户的活动日志中 但不会显示在他们的时间线上 我的故事有一个自定义操作和对象 并且我已为我的操作设置了 显式共享 选
  • 如何根据R中csv文件的列标题删除某些列?

    我已将 csv 文件加载到 R 中 文件中有 10 列 我想将第 1 3 5 列保存到一个新文件中 删除其他列的命令行是什么 我想保存新表 应该使用什么命令行 首先 我来回答你的问题 如果d您的数据框是从您的文件加载的 那么 d subse
  • 什么是 32 位和 64 位 C++ 代码?

    我试图从注册表项获取一个值 最终的程序必须在 32 位和 64 位机器上运行 到目前为止的代码是 HKEY hKey LONG Result1 LONG result2 Result1 RegOpenKeyEx HKEY CLASSES R