windows 核心编程读书笔记(1-2章)


记的都是我以前学习时漏掉的东西

1. visual studiowatch窗口中输入"@err,hr"可以及时的看到GetLastError中的描述

 

在程序中获取LastError信息示例:

DWORD dwError  = GetLastError();

HLOCAL hlocal = NULL;

BOOL fOK = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER, NULL, dwError, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), (LPTSTR)&HLOCAL, O, null);

 

if (hlocal != NULL)

{

MessageBox(NULL, (PCTSTR)LocalLock(hlocal), _T("error"), 0);

LocalFree(hlocal);

}


2. _UNICODE
宏(注意下划线)用于C运行期头文件,而UNICODE宏用于Windows头文件,通常编译源代码模块时必须同时定义两个宏

 

3. lstrcmp / lstrcmpi 都要调用windowsCompareString函数

int CompareString(

    LCID lcid,

    DOWRD fdwStyle,

    PCWSTR pString1,

    int cch1,

    PCTSTR pString2,

    int cch2);

 

LCID GetThreadLocale();


4.

字符比较用的API
PTSTR CharLower(PTSTR pszString);

PTSTR CharUpper(PTSTR pszString);

DWORD CharLowerBuff(PTSTR pszString, DOWRD cchString);

DWORD CharUpperBuff(PTSTR pszString, DOWRD cchString);

BOOL IsCharAlpha(TCHAR ch);

BOOL IsCharAlphaNumeric(TCHAR ch);

BOOL IsCharLower(TCHAR ch);

BOOL IsCharUpper(TCHAR ch);

 

 

 

posted on 2005-11-20 19:02  尉迟方  阅读(995)  评论(0编辑  收藏  举报