我们一般在调用了一些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. php 对数组按某个字段进行排序

    //$arrays 需要排序的数组,$sort_key 需要排序的键名称 function my_sort($arrays,$sort_key,$sort_order=SORT_DESC,$sort_ ...

  2. you can Solve a Geometry Problem too(hdoj1086)

    Problem Description Many geometry(几何)problems were designed in the ACM/ICPC. And now, I also prepare ...

  3. 正式学习 React(三)番外篇 reactjs性能优化之shouldComponentUpdate

    性能优化 每当开发者选择将React用在真实项目中时都会先问一个问题:使用react是否会让项目速度更快,更灵活,更容易维护.此外每次状态数据发生改变时都会进行重新渲染界面的处理做法会不会造成性能瓶颈 ...

  4. Oracle EBS-SQL (CST-4):检查组织间项目成本.sql

    select       i1.segment1                                                                           项 ...

  5. hdu 2157 How many ways_ 矩阵快速幂

    题意:略 直接矩阵乘法就行了 #include <iostream> #include<cstdio> #include<cstring> using namesp ...

  6. oracle error info

    1,oracle jdbc HTTP Status 500 - Incorrect result size: expected 1, actual 0 2015-03-31 00:03:58,250 ...

  7. javascript第十五课:DOM

    dom就是文档,就是整个网页的简称,dom里面的标签就是对象 使用javascript进行DHMTL网页开发(Dynamic Html 动态网页) dom就是把html页面模拟成一个对象,顶级对象wi ...

  8. OA 权限控制

    对于加入删除 初始化password等操作的权限 控制 第一种方法就是在每一个超链接前加 推断 如 <s:if test="#session.user.hasPrivilegeByNa ...

  9. .NET系统架构改造的经验和教训

    转自: http://robbinfan.com/blog/43/rid-off-dotnet-experience 在互联网行业,基于Unix/Linux的网站系统架构毫无疑问是当今主流的架构解决方 ...

  10. Hortonworks HDP Sandbox定制(配置)开机启动服务(组件)

    定制Hortonworks HDP开机启动服务能够这样做:本文原文出处: http://blog.csdn.net/bluishglc/article/details/42109253 严禁不论什么形 ...