컴퓨터 지식 네트워크 - 컴퓨터 지식 - C 언어로 IP 주소 쿼리 시스템을 구현하는 방법

C 언어로 IP 주소 쿼리 시스템을 구현하는 방법

C 언어로 IP 주소 쿼리 시스템을 구현하는 방법

참고 내용은 다음과 같습니다: void?GetNameAndIp()

{

struct?hostent?* 호스트;

struct?in_addr?*ptr;

DWORD?dwScope?=?RESOURCE_CONTEXT;

NETRESOURCE?*NetResource?=? NULL;

HANDLE?hEnum;

WNetOpenEnum(dwScope,?NULL,?NULL,?NULL,?&hEnum);

WSADATA?wsaData;

WSAStartup(MAKEWORD(1,?1),?&wsaData);

if?(hEnum)

{

DWORD?Count? =?0xFFFFFFFF;

DWORD?BufferSize?=?10240;

LPVOID?Buffer?=?new?char[10240];

WNetEnumResource(hEnum, ?&Count,?Buffer ,?&BufferSize);

NetResource?=?(NETRESOURCE*)Buffer;

char?szHostName[200];

for? (unsigned?int? i?=?0;?i?

{

if?(NetResource ->dwUsage?= =?RESOURCEUSAGE_CONTAINER?&&?NetResource->dwType?==?RESOURCETYPE_ANY)

{

if?(NetResource->lpRemoteName)

{

CString?strFullName?=?NetResource->lpRemoteName;

if?(0?==?strFullName.Left(2).Compare(_T("\\\ \")))

strFullName?=?strFullName.Right(strFullName.GetLength()?-?2);

gethostname(szHostName,?strlen(szHostName));

USES_CONVERSION;

char?*pchar?=?T2A(strFullName);

host?=?gethostbyname(pchar);

if?(host? ==?NULL)?continue;

ptr?=?(struct?in_addr?*)?host->h_addr_list[0];

string?str ?=?"" ;

for?(int?n?=?0;?n<4;?n++)

{

CString?addr ;

if?(n?>?0)

{

str?+=?".";

}

int?value?=?(unsigned?int)((unsi

gned?char*)host->h_addr_list[0])[n];

char?p[20];

sprintf(p,?"%d",?value );

str.append(p);

}

std::cout?<<"IP:"<h_name<

}

}

}

삭제 ?Buffer;

WNetCloseEnum(hEnum);

}

WSACleanup();

}

上篇: . MDF 파일을 여는 방법 ? 下篇: Gta5 싱글 플레이어에서 어떻게 상점을 털 수 있나요? 어떤 것이 강탈될 수 있나요?
관련 내용