读书人

如何获取子网掩码

发布时间: 2012-10-05 15:34:34 作者: rapoo

怎么获取子网掩码?
怎么获取子网掩码?

[解决办法]
好事做到底,直接上代码:

C/C++ code
#include <tchar.h>#include <iphlpapi.h>#include <stdio.h>#pragma link "iphlpapi.lib"void __fastcall TForm1::Button1Click(TObject *Sender){    PMIB_IPADDRTABLE pIPTable = NULL;    DWORD dwSize = 0;    ::GetIpAddrTable(pIPTable, &dwSize, TRUE);    pIPTable = (PMIB_IPADDRTABLE)::GlobalAlloc(GPTR, dwSize);    ::GetIpAddrTable(pIPTable, &dwSize, TRUE);    TCHAR szIPAddr[17], szSubMask[17];    for (DWORD i=0; i < pIPTable->dwNumEntries; i++)    {        // IP        memset(szIPAddr, 0x0, sizeof(szIPAddr));        _stprintf(szIPAddr, TEXT("%d.%d.%d.%d"),                LOWORD(pIPTable->table[i].dwAddr) & 0x00FF,                LOWORD(pIPTable->table[i].dwAddr) >> 8,                HIWORD(pIPTable->table[i].dwAddr) & 0x00FF,                HIWORD(pIPTable->table[i].dwAddr) >> 8);        // Subnet Mask        memset(szSubMask, 0x0, sizeof(szSubMask));        _stprintf(szSubMask, TEXT("%d.%d.%d.%d"),                LOWORD(pIPTable->table[i].dwMask) & 0x00FF,                LOWORD(pIPTable->table[i].dwMask) >> 8,                HIWORD(pIPTable->table[i].dwMask) & 0x00FF,                HIWORD(pIPTable->table[i].dwMask) >> 8);        Memo1->Lines->Add(String().sprintf(TEXT("IP: %s 子网掩码: %s"),                szIPAddr, szSubMask));    }    ::GlobalFree(pIPTable);} 

读书人网 >C++ Builder

热点推荐