const char* cchIP ="";
static HWND hListbox;
string strConnectIP;
char szBuffer[256];
u_long arg = 1;
SOCKADDR_IN addr;
SOCKET s;
case WM_COMMAND:
switch ( LOWORD (wParam))
{
case 1: // Wird also ausgeführt, wenn Button mit dem Index 1 gedrückt wurde
memset(&addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten
addr.sin_family=AF_INET;
addr.sin_port=htons(12345); // wir verwenden mal port 12345
GetDlgItemText( hwnd, 2, szBuffer, sizeof(szBuffer)/sizeof(char) ); //IP auslesen von einer Textbox mit Index 2
cchIP=szBuffer;//von char* nach const char* convertieren
hostent *dns = gethostbyname((char*)cchIP); // -> Hostnamen auflösen <-
//Hierbei enthält die const char Variable "cchIP" den Namen.
//DYNDNS-IP in einen String typecasten
strConnectIP="";
unsigned int yx= dns->h_addr_list[0][0]; //Der Array h_addr_list enthält die 4 Teile der IP
//Hier werden jeweils erst ein Addressteil, dann ein Punkt usw. an den Adressstring angehängt.
strConnectIP.append(itoa(yx,szBuffer,10));strConnectIP.append(".");
yx= dns->h_addr_list[0][1];
strConnectIP.append(itoa(yx,szBuffer,10));strConnectIP.append(".");
yx= dns->h_addr_list[0][2];
strConnectIP.append(itoa(yx,szBuffer,10));strConnectIP.append(".");
yx= dns->h_addr_list[0][3];
strConnectIP.append(itoa(yx,szBuffer,10));
(int)SendMessage(hListbox, LB_ADDSTRING, 0, (LPARAM) "IP:");
(int)SendMessage(hListbox, LB_ADDSTRING, 0, (LPARAM) strConnectIP.c_str()); //IP in einer Textbox ausgeben, geht auch über n Popup
closesocket(s);//Socket hinterher wieder schließen, optional
break; //Case's schließen
}
return 0;