该宏的定义通常在 Commctrl.h 头文件中,以下是它的定义:
#define MAKEIPADDRESS(b1,b2,b3,b4) (DWORD)(((DWORD)(b1)<<24)|((DWORD)(b2)<<16)|((DWORD)(b3)<<8)|((DWORD)(b4)))
宏接受四个字节作为参数(通常是 0 到 255 之间的整数),将它们合并成一个 32 位的 DWORD,其中每个字节分别对应 IP 地址的四个部分。
以下是一个使用 MAKEIPADDRESS 宏的示例:
#include <Commctrl.h>
// 假设有四个变量 b1、b2、b3、b4 分别表示 IP 地址的四个部分
BYTE b1 = 192, b2 = 168, b3 = 1, b4 = 1;
// 使用 MAKEIPADDRESS 宏将四个字节合并为一个 DWORD
DWORD ipAddress = MAKEIPADDRESS(b1, b2, b3, b4);
// 将合并后的 DWORD 设置到 IP 地址编辑框中
SendMessage(hwndIPAddress, IPM_SETADDRESS, 0, (LPARAM)ipAddress);
在这个例子中,MAKEIPADDRESS 宏将四个字节的 IP 地址部分合并成一个 DWORD 类型的值,然后将这个值设置到 IP 地址编辑框中。
转载请注明出处:http://www.zyzy.cn/article/detail/24773/Win32 API/Commctrl.h/MAKEIPADDRESS