跳至主要内容

3.Win32 API中的宽字符

Win32 API

  • 主要存放在C:\\WINDWOS\system32下面所有的dll
  • 重要DLL:
    • Kernel32.dll:最核心的功能模块,比如管理内存、进程和线程相关的函数等
    • User32.dll:是Winodws用户界面相关应用程序接口,如创建窗口和发送消息等
    • GDI32.dll:全称是Graphical Device Interface(图形设备接口),包含用于画图和显示文本的函数

常用的数据类型

1
2
3
4
5
6
7
8
9
10
11
12
13
汇编:
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
  • 重定义,方便迭代更换数据类型

在Win32中使用字符串

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdio.h"
#include <windows.h>
#include <winnt.h>

int main(int argc, char *argv[]) {
CHAR str[] = "hellp";//ASCII
WCHAR str1[] = L"hello";//Unicode
TCHAR str2[] = TEXT("hello");//自动,按照当前项目默认编码
//TCHAR不是数据类型,它是一个宏,根据当前项目编码格式变化而变化,有利于跨平台,Win32推荐用这种类型


PSTR p = "hello";
PWSTR p1 = L"hello";
PTSTR p2 = TEXT("hello");
return 0;
}

第一个Win32 API的使用

1
2
3
4
5
6
7
8
9
#include "stdio.h"
#include <windows.h>
#include <winnt.h>

int main(int argc, char *argv[]) {
TCHAR str[] = TEXT("hello");
MessageBox(0,str,str,MB_OK);
return 0;
}

关于本文

由 GuQing 撰写,采用 CC BY-NC 4.0 许可协议。