VS2022创建.md
VS2022创建.md
doc
https://learn.microsoft.com/en-us/windows/win32/learnwin32/learn-to-program-for-windows
绝大多数 Windows API 由函数或组件对象模型 (COM) 接口组成。很少有 Windows API 作为 C++ 类提供。(一个值得注意的例外是 GDI+,它是 2-D 图形 API 之一。
类型
| Data type| Size| Signed?|
|:--------------|:-------------|
| BYTE | 8 bits | Unsigned|
|DWORD | 32 bits | Unsigned |
|INT32 | 32 bits | Signed|
|INT64 | 64 bits | Signed|
|LONG | 32 bits | Signed|
|LONGLONG | 64 bits | Signed|
|UINT32 | 32 bits | Unsigned|
|UINT64 | 64 bits | Unsigned|
|ULONG | 32 bits | Unsigned|
|ULONGLONG | 64 bits | Unsigned|
|WORD | 16 bits | Unsigned|
布尔类型
BOOL 是 int 的类型别名,不同于 C++ 的 bool 以及表示布尔值的其他类型。头文件还定义了两个用于 BOOL 的值。WinDef.h
#define FALSE 0
#define TRUE 1
尽管 TRUE 有此定义,但大多数返回 BOOL 类型的函数都可以返回任何非零值来指示布尔值真值。因此,您应该始终编写以下内容:
// Right way.
if (SomeFunctionThatReturnsBoolean())
{
...
}
// or
if (SomeFunctionThatReturnsBoolean() != FALSE)
{
...
}
指针类型
这些名称中通常包含前缀 P- 或 LP-
在 16 位体系结构(16 位 Windows)上,有 2 种类型的指针,P 代表“指针”,LP 代表“长指针”。需要长指针(也称为远指针)来寻址当前段之外的内存范围。保留了 LP 前缀,以便更轻松地将 16 位代码移植到 32 位 Windows。今天没有区别,这些指针类型都是等效的。避免使用这些前缀;或者,如果必须使用 P,则使用 P。
win32 字符串说明
https://learn.microsoft.com/en-us/windows/win32/learnwin32/working-with-strings
win 32 API
https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-wndclassexw