我们一般在调用了一些API后都会用GetLastError来获得错误信息,但是信息都是Integer的,我们知道是什么意思么?
嘿嘿,是的,有msdn呀,当然还可以用FormatMessage函数来.
正好看了下Windows核心编程第一章有个例子,来用Delphi试一下.
主要用了FormatMessage函数,具体用法和注意事项就很多了,大家可以看MSDN了.

Unit UtMain;

Interface
Uses
Windows,
Messages,
SysUtils,
Variants,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
CxGraphics,
CxControls,
CxLookAndFeels,
CxLookAndFeelPainters,
CxContainer,
CxEdit,
DxSkinsCore,
DxSkinSeven,
CxGroupBox,
CxCheckBox,
CxTextEdit,
DxSkinsForm,
CxLabel,
Menus,
CxMemo,
StdCtrls,
CxButtons; Type
TForm3 = Class(TForm)
Cxlbl1: TcxLabel;
DxSkinController1: TdxSkinController;
CxtxtCode: TcxTextEdit;
CxchkHex: TcxCheckBox;
GrpDescription: TcxGroupBox;
BtnSearch: TcxButton;
CxmDescription: TcxMemo;
Procedure BtnSearchClick(Sender: TObject);
Procedure FormCreate(Sender: TObject);
Private
{ Private declarations }
DwCode: Cardinal;
SystemLocale: Cardinal;
Public
{ Public declarations }
End; Var
Form3: TForm3;
Implementation {$R *.dfm} Procedure TForm3.BtnSearchClick(Sender: TObject);
Var
B: Cardinal;
HLib: Cardinal;
Buf: PChar;
Begin
If CxchkHex.Checked Then
DwCode := StrToIntDef('$' + CxtxtCode.Text, )
Else
DwCode := StrToIntDef(CxtxtCode.Text, );
GetMem(Buf, );
Try
// 尝试获取一下
B := FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, Nil, DwCode, SystemLocale,Buf, , Nil);
// 如果默认没有 查询下网络相关的
If B = Then
Begin
HLib := LoadLibraryEx('netmsg.dll', , DONT_RESOLVE_DLL_REFERENCES);
Try
Assert(HLib <> );
B := FormatMessage(FORMAT_MESSAGE_FROM_HMODULE, Pointer(HLib), DwCode,
SystemLocale, Buf, , Nil);
Finally
If HLib <> Then
FreeLibrary(HLib);
End;
End;
If (B <> ) Then
CxmDescription.Text := Buf
Else
CxmDescription.Text := '没有找到错误码的相关描述';
Finally
FreeMem(Buf);
End;
End; Procedure TForm3.FormCreate(Sender: TObject);
Begin
// 设置语言为默认
SystemLocale := MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)
End; End.

http://blog.csdn.net/yanjiaye520/article/details/6694510

GetLastError来获得错误信息转成文本描述的更多相关文章

  1. 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_07-用户认证-认证服务查询数据库-解析申请令牌错误信息

    1.2.5.4 解析申请令牌错误信息 当账号输入错误应该返回用户不存在的信息,当密码错误要返回用户名或密码错误信息,业务流程图如下: 修改申请令牌的程序解析返回的错误: 由于restTemplate收 ...

  2. SVN错误信息汇总

    svn错误信息  # # Simplified Chinese translation for subversion package # This file is distributed under ...

  3. Extjs 表单验证后,几种错误信息展示方式

    今天要求对form表单验证,进行系统学习一下,故做了几个示例: Ext.onReady(function(){        var panel=Ext.create('Ext.form.Panel' ...

  4. Sharepoint2013:在页面上显示错误信息

    在sharepoint2013中我们需要修改以下三处的web.config,以显示错误信息 1, C:\inetpub\wwwroot\wss\VirtualDirectories\端口号\web.c ...

  5. DB2中错误信息说明

    DB2错误信息SQLCODE SQLSTATE (按sqlcode排序) .分类: db2数据库 2012-10-19 11:35 2942人阅读 评论(0) 收藏 举报 db2sql存储table数 ...

  6. odbc错误信息一览表

    ODBC 错误信息 根据 X/Open 和 SQL Access Group SQL CAE 规范 (1992) 所进行的定义,SQLERROR 返回 SQLSTATE 值.SQLSTATE 值是包含 ...

  7. 修改php.ini以达到 屏蔽错误信息

    那是因为php.ini中关闭了错误显示,将错误写成了文件,这是人为设置的结果,display_errors =on就好了. 不过不显示错误倒安全点,建议调试时打开,然后提供服务时关闭. 提供一点资料给 ...

  8. mtk的安卓手机刷机时出现的错误信息

    手机已成砖,用过好多工具都没刷回来,以下是用smart phone flash tool刷机时出现的错误信息 ---------------------------Smart Phone Flash ...

  9. Asp.net 程序部署问题——在应用程序级别之外使用注册为 allowDefinition='MachineToApplicati错误信息

    [转]在应用程序级别之外使用注册为 allowDefinition='MachineToApplicati 错误信息: ======================================== ...

随机推荐

  1. 「北京」京东 JD.COM 招聘中/高级前端工程师

    工作职责: 负责前端界面的前端构建,各类交互设计与实现: 前端样式和脚本的模块设计及优化: 协同后台开发人员完成项目: 职位要求: 专科及以上学历,2年以上前端重构与脚本开发经验,计算机或相关专业者优 ...

  2. chapter 1 Number/Adventurous Person

    part1: 1- Which would be easier to remember a munber or a name? Well, I am better at remembering num ...

  3. flask 后台表单验证模块

    我不想直接用flask的wtf模块,太大,功能太多,用不了.但后台也不能不做验证吧,我比较懒,不想一行一行写代码验证,所以就写了一个验证模块,对于小项目也够用了 # encoding=utf-8 # ...

  4. 三角形(hd1249)

    三角形 Problem Description 用N个三角形最多可以把平面分成几个区域?   Input 输入数据的第一行是一个正整数T(1<=T<=10000),表示测试数据的数量.然后 ...

  5. Oracle EBS-SQL (OM-6):打开订单.sql

    /*打开头*/ update oe_order_headers_all t set t.flow_status_code = 'BOOKED', t.open_flag = 'Y' where t.o ...

  6. Oracle EBS-SQL (OM-3):销售连接停靠站时冲减库存出错处理.sql

    DELETE FROM INV.MTL_RESERVATIONS MRWHERE EXISTS (SELECT 1 FROM WSH.WSH_DELIVERY_ASSIGNMENTS WDA      ...

  7. JavaScript 问答 - No.1

    1     什么是JavaScript? JavaScript 是世界上最流行的脚本语言. JavaScript 是属于 web 的语言,它适用于 PC.笔记本电脑.平板电脑和移动电话. JavaSc ...

  8. xcode 5与ios 7的屏幕适配问题

    #define DEVICE_IS_IPHONE5 ([[UIScreen mainScreen] bounds].size.height == 568) float height = DEVICE_ ...

  9. poj 1276 Cash Machine_多重背包

    题意:略 多重背包 #include <iostream> #include<cstring> #include<cstdio> using namespace s ...

  10. 【每日一MOS】-RAC and Sequences (853652.1)

    序列有四种组合: a. CACHE + NOORDER b. CACHE + ORDER c. NOCACHE + NOORDER d. NOCACHE + ORDER 即使在单例配置下,当有大量的s ...