Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1119328
  • 博文数量: 284
  • 博客积分: 8223
  • 博客等级: 中将
  • 技术积分: 3188
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-01 13:26
文章分类

全部博文(284)

文章存档

2012年(18)

2011年(33)

2010年(83)

2009年(147)

2008年(3)

分类: C/C++

2009-10-27 20:37:16

#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <iostream>
using namespace std;
int main(int argc,char **argv[]){
    DWORD dwError = 2;
    HLOCAL hlocal = NULL;

    BOOL fOk = FormatMessage(
        FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER,
        NULL, dwError, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),
        (PTSTR) &hlocal, 0, NULL);

    if (!fOk) {
        // Is it a network-related error?

        HMODULE hDll = LoadLibraryEx(TEXT("netmsg.dll"), NULL,
            DONT_RESOLVE_DLL_REFERENCES);

        if (hDll != NULL) {
            FormatMessage(
               FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_FROM_SYSTEM,
               hDll, dwError, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),
               (PTSTR) &hlocal, 0, NULL);
            FreeLibrary(hDll);
         }
    }
    if (hlocal != NULL) {
        wprintf(_T("error mean:%s\n"),LocalLock(hlocal));
        LocalFree(hlocal);
    } else {
       printf("Error number not found.\n");
    }
    return 0;
}


阅读(719) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~