如何处理 Win32 错误消息的占位符?

2023-11-23

我想在我的程序遇到 Win32 错误时显示有意义的错误消息。我打电话GetLastError, 进而FormatMessage。但某些错误消息包含占位符。例如,ERROR_BAD_EXE_FORMAT有文字:

%1 不是有效的 Win32 应用程序。

据推测,%1 应该被无效的模块名称替换。我怎样才能实现替换?

请注意,我希望有一个通用的解决方案,因为我注意到占位符存在很多错误。我可以在文档中看到以下消息:

  • 驱动器中的软盘错误。将 %2(卷序列号:%3)插入驱动器 %1。
  • 操作系统无法运行 %1。
  • 此版本的 %1 与您运行的 Windows 版本不兼容。检查您计算机的系统信息,然后联系软件发行商。
  • 映像文件 %1 已签名,无法修改。
  • 系统在 %2 的消息文件中找不到消息号 0x%1 的消息文本。
  • ... 等等。

我认为雷蒙德陈在他的评论中有效地回答了这个问题blog他写道:

系统错误消息中包含的内容也让我烦恼%1您只需根据具体情况“了解”插入内容。

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

如何处理 Win32 错误消息的占位符? 的相关文章

  • 以编程方式更改任务栏图标(Win32,C++)[重复]

    这个问题在这里已经有答案了 我有一个 C win32 程序 我想在运行时编辑任务栏图标以显示有关该程序的警报等 但是我对 win32 api 不太有经验 而且我找不到任何东西在线的 我发现的最接近的是http www windows tec
  • 如何在Delphi中显示Vista风格的气球提示?

    在输入验证时 我使用气球提示而不是消息框 我的问题是 在 Vista 上 它们具有带圆角的旧 XP 样式 而不是较新的矩形外观 我尝试使用 CreateWindowEx 创建它们并且tooltips class32或使用 SendMessa
  • win32上的64位Anaconda使用32位还是64位?

    我猜答案是 32 位 但我有点困惑为什么我什至可以在 win32 中安装 Anaconda 64 我曾经在 Anaconda 64 位上工作 但我刚刚意识到我的系统是 win32 这有时会产生一些异常 例如 请参阅我为 scipy 打开的这
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • 通过win32检测多个登录用户

    使用标准 win32 api 检测多个用户登录的最佳方法是什么 我对我们的软件产品进行了升级 当多个用户登录时 该产品无法运行 我知道这是应该避免的事情 因为它很烦人 但该产品非常复杂 您必须相信我 当我说确实没有其他解决方案时 谢谢 为了
  • “printf”在 Windows 非控制台应用程序中写入何处?

    如果我选择创建 Windows 非控制台应用程序 并实施printf cout在代码中 在哪里printf cout写 它是否写到stdout缓冲 如果是 有什么办法可以读取它stdout并将其打印到某个文本文件或执行MessageBox与
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex
  • 如果加载 dll 找不到依赖项,有什么方法可以捕获错误吗?

    我正在编写一个 Windows 32 位程序 可以使用多个可能的 dll 之一 所以它尝试依次加载每个 dll 使用SysUtils SafeLoadLibrary如果加载成功 它就会使用该 dll 不幸的是 其中一些 dll 静态链接到其
  • 如何一步步遍历目录树?

    我发现了很多关于遍历目录树的示例 但我需要一些不同的东西 我需要一个带有某种方法的类 每次调用都会从目录返回一个文件 并逐渐遍历目录树 请问我该怎么做 我正在使用函数 FindFirstFile FindNextFile 和 FindClo
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • 解密/读取/修改“.automaticDestinations-ms”和/或“.customDestinations-ms”

    有谁知道如何读取 Microsoft 为 JumpList 创建的文件 我想从 JumpList 中清除所有历史记录 最常访问的 最近关闭的 而不清除任务 我尝试使用 win7api 中的 APPID 并清除例如 google chrome
  • 验证 EXE 上的 Authenticode 签名 - C++,无需 CAPICOM

    我正在为安装程序 DLL 编写一个函数 以验证系统上已安装的 EXE 文件的 Authenticode 签名 该函数需要 A 验证签名是否有效 B 验证签名者是我们的组织 因为这是在安装程序中 并且因为它需要在较旧的 Win2k 安装上运行
  • 在windows + opengl中选择图形设备

    我知道如何使用 openGL 打开窗口 使用 Win32 或其他工具包 但是当系统有2块显卡时 如何选择要渲染的图形设备 我的编程语言是 C 我专注于 Windows 但任何示例都将受到欢迎 编辑 也许更好地解释我的问题是个好主意 以便添加
  • 没有窗口的 GetFontUnicodeRanges

    有机会打电话吗GetFontUnicodeRanges没有窗户 例如 它可能是不允许与桌面交互的 Windows 服务 目前我正在使用控制台应用程序对此进行测试 program UnicodeConsoleOutput APPTYPE CO
  • 计算 Windows 10 上第 3 方窗口的标题栏按钮的总宽度

    我最初的方法是使用GetSystemMetrics with SystemMetric SM CXSIZE以及一些基于可用按钮的简单数学计算 乘以 3 或乘以 1 通过WindowStyle DllImport user32 dll pri
  • 如何从 Java 访问 Windows 设备管理器中的信息?

    我有一个串行 USB 设备 并且其中多个设备可以连接到计算机 我需要查询和检索设备连接到的 COM 端口列表 在 Windows 设备管理器中 您可以获得当前连接的设备的 COM 端口 友好名称 该列表是动态的 从注册表中读取不工作 htt
  • .NET 或 Windows 同步原语性能规范

    我目前正在写一篇科学文章 我需要非常准确地引用 有人可以向我指出 MSDN MSDN 文章 一些已发表的文章来源或一本书 我可以在其中找到 Windows 或 NET 同步原语的性能比较 我知道这些是按性能降序排列的 互锁 API 关键部分
  • 如何等到我启动的程序使用完该文件后才删除该文件?

    我一直在寻找一种方法来打开通过 Delphi 应用程序及其适当的应用程序保存到我的计算机上的文件 该文件存储在 SQL 数据库中的 Varbinary 字段中 加载到内存流中 然后通过 TMemoryStream 的 SavetoFile
  • 如何将dll作为服务运行?

    我知道如何编写 dll 如何编写服务以及如何运行 dllrundll32 但现在我想编写一个在Windows中作为服务安装的dll 我不知道这是否可能或应该导出 dll 中的哪个函数 如何将 dll 作为服务安装并运行 有几种不同的方法可以
  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用

随机推荐

  • 我应该以什么顺序发送信号来正常关闭进程?

    In a comment on 这个答案另一个的question 评论者说 除非绝对不要使用kill 9 必要的 SIGKILL 不能被捕获 所以 被杀死的程序无法运行任何程序 关闭例程 例如擦除 临时文件 首先尝试 HUP 1 然后 IN
  • IHostedService 无故停止

    谁能向我解释为什么我的服务器无缘无故停止了 下面是我的 IHostedService 实现 public class HostServiceBox IHostedService public Task StartAsync Cancella
  • 如何从 JAR 中提取文件夹

    我需要复制一个文件夹 在运行时打包在 Jar 中 我想通过调用也包含在同一文件夹中的类中的函数来做到这一点 我尝试过使用getSystemResource URL sourceDirUrl ClassLoader getSystemReso
  • 如何使用 C 的 mmap() 更改文本文件中的字符?

    假设我将标准的 Hello World n 保存到名为 hello txt 的文本文件中 如果我想将 H 更改为 R 或其他内容 我可以使用 mmap 来实现吗 mmap标准 C99 或 C11 规范中不存在 它是在 POSIX 中定义的
  • 正则表达式 - 匹配不带空格的字符串

    构建一个正则表达式 该表达式将拒绝包含空格的输入字符串 我有以下表达式 但它不起作用 a zA Z0 9 S 有效案例 String123 test string without space 无效案例 String123 test cont
  • 我们如何存储到 NSDictionary 中? NSDictionary 和 NSMutableDictionary 有什么区别?

    我正在开发一个应用程序 我想在其中使用NSDictionary 任何人都可以给我发送一个示例代码来解释如何使用NSDictionary用一个完美的例子来存储数据 The NS词典 and NSMutableDictionary文档可能是您最
  • 您可以以多快的速度自动增加 Firebase 实时数据库上的值?

    火力战士在这里 当我最近tweeted关于新的increment Firebase实时数据库中的操作员 有队友问有多快increment is 我一直想知道同样的问题 你能以多快的速度增加一个值increment 1 与此相比如何使用事务来
  • C++11:按值传递是否涉及移动语义?

    我有一个如下所示的 API void WriteDefaultFileOutput std wostream str std wstring target Some code that modifies target before prin
  • 撰写布局:相对于居中项目对齐(例如 toRightOf)

    Compose 中有没有一种方法可以在不使用的情况下将可组合项与居中项目对齐ConstraintLayout I want to achieve this I could use a Spacer and Weights like this
  • 这些自执行匿名函数(又名 IIFE)实现有什么区别

    在很多书中 博客文章自调用匿名函数模式是这样写的 function var foo bar 然而运行JSLint对此给出了这个错误 将调用移至包含该函数的括号中 例如将其更改为这样的作品 function var foo bar 问题 为什
  • 如何使用 vbscript 获取正在运行的 Excel 实例的工作簿名称?

    Dim objXL strMessage On Error Resume Next Set objXl GetObject Excel Application If Not TypeName objXL Empty then strMess
  • Ember 表与 Ember 模型/Ember 数据集成

    我试图将 ember models 链接到 ember table 以从服务器提取分页记录 并在向下滚动时将它们添加到表中 我可以通过只请求我的 api url 和页码来让它工作 就像 ajax 示例中那样http addepar gith
  • 方法与函数,以及其他问题

    对于JS来说 两者有什么区别呢 我知道方法与对象相关联 但我很困惑函数的目的是什么 它们各自的语法有何不同 另外 这两种语法有什么区别 var myFirstFunc function param Do something and func
  • CsvHelper ConvertUsing 不更改输出

    我正在尝试使用ConvertUsing的方法CSV助手库 v 2 4 0 我已阅读有关的文档转换使用但无法让它发挥作用 我正在使用一个简单的类 public class Test public long Id get set public
  • Python Pandas

    我正在尝试对连续的相同信息进行分组和计数 Functions def postal saude global df lista solic List of solicitantes in Postal Saude list sol list
  • 如何从Firebase配置中获取measurementId?

    和玩谷歌分析对于 Firebase 上基于 Web 的项目 我们需要使用 Firebase 保留 URL 或按照文档所述复制 更新 Firebase 配置对象here 我正在使用以下命令来打印该配置信息 firebase setup web
  • VS Code 根据文件中的单词自动完成

    我刚刚开始使用 VS Code 目前我对此非常满意 我来自 Notepad 对于我正在做的事情 我没有找到任何处于同一 级别 的 IDE 直到现在 我真的很喜欢 VS Code 所做的事情以及所有现代集成技术如何帮助我 但我怀念 NPP 所
  • 如何增加 Symfony 2 表单上文件的上传限制?

    我在 Symfony 中有一个表单 用户可以将文件上传到其中 这些文件的大小最大可达 50Mb 但是 当我尝试上传大约 10Mb 的文件 在此之前 文件不大于 7 2Mb 时 表单会重新加载并出现以下错误 上传的文件太大 请尝试上传较小的文
  • ImageButton 不显示特定的可绘制对象

    这是我遇到过的一个相当有趣的问题 我的表格布局有 9 个图像按钮 每行 3 个 每个 ImageButton 都有一个与之关联的不同图像 我已将图像按钮的背景设置为透明 00000000 现在有趣的事情发生了 其中一张图像没有显示在模拟器
  • 如何处理 Win32 错误消息的占位符?

    我想在我的程序遇到 Win32 错误时显示有意义的错误消息 我打电话GetLastError 进而FormatMessage 但某些错误消息包含占位符 例如 ERROR BAD EXE FORMAT有文字 1 不是有效的 Win32 应用程