主要是存放在 C:\WINDOWS\system32
(64位) 及C:\Windows\SysWOW64
(32位)下面所有的dll
几个重要的DLL:
<1> Kernel32.dll
:最核心的功能模块,比如管理内存、进程和线程相关的函数等。
<2> User32.dll
:是Windows用户界面相关应用程序接口,如创建窗口和发送消息等。
<3> GDI32.dll
:全称是Graphical Device Interface(图形设备接口)
,包含用于画图和显示文本的函数。
cWin32没有什么新的类型,所谓的新的类型无非就是给原有的类型重新起了一个名字, 原因主要是: 1. 将所有类型进行一个统一,看起来可读性更好 2. 如果真正涉及到跨平台,就将原来的数据类型修改一下就好了,就不需要对代码进行重写了 int MessageBox( HWND hWnd, // handle to owner window LPCTSTR lpText, // text in message box LPCTSTR lpCaption, // message box title UINT uType // message box style );
c汇编: byte BYTE PBYTE word WORD PWORD dword DWORD PDWORD C语言: char CHAR PCHAR unsigned char UCHAR PUCHAR short SHORT PSHORT unsigned short USHORT PUSHORT int INT PINT unsigned int UINT PUINT C++语言: bool BOOL
cCHAR szStr[] = “中国”; //char WCHAR swzStr[] = L“中国”; //wchar_t TCHAR stzSr[] = TEXT(“中国”); //TCHAR 根据当前项目的编码自动选择char还是wchar_t
cPSTR pszStr = “中国”; //char* PWSTR pwszStr = L“中国”; //wchar_t* PTSTR ptszStr = TEXT(“中国”); //PTSTR 根据当前项目的编码自动选择如char*还是wchar_t*
cCHAR szTitle[] = "标题"; CHAR szContent[] = "Hello World!"; MessageBoxA(0,szContent,szTitle,MB_OK);
cWCHAR swzTitle[] = L"标题"; WCHAR swzContent[] = L"Hello World!"; MessageBoxW(0,swzContent,swzTitle,MB_OK);
cTCHAR stzTitle[] = TEXT("标题"); TCHAR stzContent[] = TEXT("Hello World!"); MessageBox(0,stzContent,stzTitle,MB_OK);
区别:
结尾带A的,只接收ASCII编码的参数
结尾带W的,只接收Unicode编码的参数
在新的操作系统中,实际上在调用A结尾的API,系统底层会再次调用W结尾的API,然后再进入内核,所以为了效率可以直接调用W结尾的API
本文作者:Na1r
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!