windows核心编程第一章:ErrorShow.cpp

windows核心编程第一章:ErrorShow.cpp

windows核心编程第一章:ErrorShow.cpp


前言

本章对错误信息的处理

DWORD GetLastError();
VOID SetLastError(DWORD dwErrCode):
如果我在自己写的程序中检测到一个错误,我可能希望向用户显示文本描述,而不是显示个干巴巴的错误编号。Windows提供了一个函数,可以将错误代码转换为相应的文本描述此函数名为FormatMessage,如下所示:

```cpp
DWORD FormatMessage
(
DWORD dwFlags,
LPCVOID pSource
DWORD dwMessageld
DWORD dwLanguageId
PTSTR pszBuffer.
DWORD nSize
va list *Arguments
)

FormatMessage的功能实际相当丰富,为了构造要向用户显示的字符串,它是首选的一种方式。之所以说它好用,一个原因是它能轻松地支持多种语言(译注:这里的语言是自然语言,比如汉语、英语等等,而不是计算机编程语言)。它能获取一个语言标识符作为参数,并返回那种语言的文本。当然,你首先必须翻译好字符串,并将翻译好的消息表(message table)资源嵌入自己的.exe 或 DLL 模块中。但在此之后,这个函数就能自动选择正确的字符串。ErrorShow 示例程序(参见后文)演示了如何调用这个函数将Microsoft 定义的错误代码编号转换为相应的文本描述。

自定义错误信息

定义的时候需要符合相关的规定,规定如下
在这里插入图片描述

ErrorShow.cpp

/******************************************************************************
01_ErrorShow.cpp
windows核心编程(2024)
windoesx.h头文件
展示了如何获取错误代码的文本描述的方法
(c)by zhangYongJiang
******************************************************************************/


#include "..\CommonFiles\CmnHdr.h"     /* 编译配置头文件 */
#include <Windowsx.h>                   //消息处理宏
#include <tchar.h>                      //通用类型
#include <winerror.h>                   //错误代码定义文件
#include "Resource.h"


///

//自定义消息
#define ESM_POKECODEANDLOOKUP    (WM_USER + 100)
//const TCHAR g_szAppName[] = TEXT("Error Show");


///
INT_PTR WINAPI Dlg_Proc(HWND hwnd,UINT  uMsg,WPARAM wParam,LPARAM lParam);
BOOL Dlg_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam);
void Dlg_OnCommand(HWND hw
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值