专注于c++的学习

还是专注于c++的学习

统计

留言簿(1)

阅读排行榜

评论排行榜

《windows核心编程》读书笔记1-chapter1

//WinErrCodeformater.h

/************************************************************************/

/*CWinErrCodeFormatter,用于将错误码翻译成文本,可以指定文本的语言     */

/*这是一个functor

/************************************************************************/

class CWinErrCodeFormatter

{

public:

    CWinErrCodeFormatter(long errorCode=-1, LCID lang=MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED));

public:

    virtual ~CWinErrCodeFormatter(void);

public:

    CString operator()();

    CString operator()(long errorCode, LCID lang=MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED));

 

private:

    ///<summary>

    ///字符串的语言

    ///</summary>

    LCID m_lang;

 

    ///<summary>

    ///错误码

    ///</summary>

    long m_errorCode;

};

 

 

// WinErrCodeformater.cpp

#include "StdAfx.h"

#include "WinErrCodeFormatter.h"

 

CWinErrCodeFormatter::CWinErrCodeFormatter(long errorCode, LCID lang):m_errorCode(errorCode),m_lang(lang)

{

}

 

CWinErrCodeFormatter::~CWinErrCodeFormatter(void)

{

}

 

 

CString CWinErrCodeFormatter::operator()()

{

    HLOCAL  hlocal = NULL;

   

    BOOL bOK = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM| FORMAT_MESSAGE_ALLOCATE_BUFFER,

       NULL, m_errorCode, m_lang, (PTSTR)&hlocal, 0, NULL);

   

    if(!bOK)

    {

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

       if(hDll)

       {

           FormatMessage(FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_FROM_SYSTEM, hDll, m_errorCode, m_lang, (PTSTR)&hlocal, 0, NULL);

           FreeLibrary(hDll);

       }

    }

 

    if(hlocal)

    {

       CString result((PCTSTR)LocalLock(hlocal));      

       LocalFree(hlocal);

       return result;

    }

    else      

       return _T("get error message failed!");         

}

 

 CString CWinErrCodeFormatter::operator()(long errorCode, LCID lang)

 {

     m_errorCode = errorCode;

     m_lang = lang;

     return operator();

 }

posted on 2009-10-24 14:18 拿砖拍 阅读(1635) 评论(7)  编辑 收藏 引用 所属分类: 读书笔记

评论

# re: 《windows核心编程》读书笔记1-chapter1[未登录] 2009-10-24 17:33 vincent

有这个的电子版..正想买本实体书..哈哈  回复  更多评论   

# re: 《windows核心编程》读书笔记1-chapter1 2009-10-25 09:57 李佳

最近感觉首页文章的质量越来越差 不知道为什么这么多人都喜欢往首页发文章   回复  更多评论   

# re: 《windows核心编程》读书笔记1-chapter1 2009-10-25 22:50 HEHE

笔记之类的最主要还是供自己复习,我认为也不应放首页. 如果是思想或技术亮点,就应让大家共享.  回复  更多评论   

# re: 《windows核心编程》读书笔记1-chapter1 2009-10-26 12:47 凡客诚品

想买本实体书  回复  更多评论   

# re: 《windows核心编程》读书笔记1-chapter1 2009-10-27 00:33 天龙八部sf

对图片的编码进行分析,有点意思。  回复  更多评论   

# re: 《windows核心编程》读书笔记1-chapter1 2009-10-28 13:34 coloriy

不管怎样,作者拿出来分享比自己放在电脑里好的多,支持一下  回复  更多评论   

# re: 《windows核心编程》读书笔记1-chapter1 2009-10-28 20:17 Rye

的确如作者的名字。
问题应该聚焦,文章也是。  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理