네트워크 프로그래밍을 하다가 포스트합니다.
가끔 IP주소를 알아야 하는데 원도우 네트워크 속성을 보거나, 프롬프트에서 ipconfig 실행합니다.
위와 같은 방법으로 알 수 있습니다. 만.
Win32API로 Local IP 얻어오는 방법, 여러 IP를 갖고있는 컴퓨터의 IP들을 얻어오는 소스코드, 실행화일 입니다.
Tool : Visual C++ 6.0(Win32API)
소스코드 : GetIPAddr.zip
실행화일 : GetIPexe.zip
실행화면입니다. IP가 3개나 있습니다. (ipconfig 실행한 것과 같네요)
[Source Code]
:
BOOL GetLocalIPAddr()
{
WSADATA wsa;
IN_ADDR addr;
char LocalName[256], IPAddr[15], i = 0;
if(WSAStartup(MAKEWORD(2,2), &wsa) != 0) return FALSE;
if(gethostname(LocalName, 256) == SOCKET_ERROR) return FALSE;
HOSTENT *ptr = gethostbyname(LocalName);
if(ptr == NULL) return FALSE;
while(ptr->h_addr_list[i] != NULL)
{
memcpy(&addr, ptr->h_addr_list[i], ptr->h_length);
wsprintf(IPAddr, "%s", inet_ntoa(addr));
SendMessage(hList, LB_ADDSTRING, 0, (LPARAM)IPAddr); //------------------- Add LocalIP in ListBox.
i++;
}
WSACleanup();
return TRUE;
}
출처 : http://i0nucleus.egloos.com/1919168
RECENT COMMENT