《windows核心编程》读书笔记1-chapter1
来源:互联网 发布:发那科法机器人编程 编辑:程序博客网 时间:2024/05/20 19:20
《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();
}
- 《windows核心编程》读书笔记1-chapter1
- Windows核心编程读书笔记
- Windows 核心编程读书笔记
- Windows核心编程读书笔记
- Windows 核心编程 -- 读书笔记
- windows核心编程读书笔记
- 《Windows核心编程》读书笔记
- 《Windows核心编程》读书笔记
- 【读书笔记】Windows核心编程
- 【读书笔记】windows核心编程
- Windows核心编程-读书笔记1-3
- 《Windows核心编程》读书笔记(1)
- 《Windows核心编程》读书笔记(四)
- 《Windows核心编程》读书笔记 (五)
- Windows核心编程读书笔记I
- 《Windows核心编程》第一章 读书笔记
- windows核心编程读书笔记一
- [C++]《Windows核心编程》读书笔记
- javascript 触发事件列表
- [ZZ] wxPyhon之Frame (二)
- 像鼠标右键的新建项中添加word、excel、PPT
- js offsetHeight offsetWidth 解说
- 工作总结
- 《windows核心编程》读书笔记1-chapter1
- totem 解码器
- C# 文件上传 默认最大为4M的解决方法
- Spring事务特性
- 快速排序算法、计数排序算法
- Windows NT 与 Windows 的区别
- ASP.NET中防止页面多次提交的代码实现
- mysql常用命令
- C# Upload File 这个比较有价值