Aktuelle IP-Adresse ermitteln
-
Habs jetz erst gesehen.
h_addr_list[count]
Das machst du in deiner IF nicht. Somit kommt der erste Adapter.Ändere das auf
CString CDynIPDlg::getIP() { char hostname[20]; hostent *hEnt = 0; // Struktur CString ipAddr = "0.0.0.0"; AfxSocketInit(NULL); gethostname(hostname, sizeof(hostname)-1); hEnt = gethostbyname(hostname); if(hEnt) { int count = 0; while (hEnt->h_addr_list[count] != NULL) { int ip1 = (unsigned int) hEnt->h_addr_list[count][0]; if(ip1 != 127 && ip1 != 192) { ipAddr = inet_ntoa( *(LPIN_ADDR)*hEnt->h_addr_list[count][ ); // Hier die änderung //MessageBox(ipAddr, ipAddr, NULL); } count++; } } return ipAddr; }
-
Welche Wrapperklasse ?
-
Die mysql-Wrapperklasse für VC++ 6.0!
-
dann legt sie in ein Extra verzeichnis. Nicht das Programm sucht die Datei sondern Windows.
Zuerst wird im aktuellen progrmm ´verz. gesucht und dann in den PFADEN von Windows. z.B. c:windows/system32 us.w.
Übrigens ist dies mit jeder DLL so da man nicht angeben kann wo die DLL gesucht werden soll.
-
Ok, danke! Aber ich glaube es gibt eine Lsg. die dll statisch zu linken. Ist aber auch nicht so wichtig!
Trotzdem besteht aber das Problem mit der IP noch!?!?
MFG Stefan
-
-
Ich benutze diesen Code von Darth_Kane:
http://www.c-plusplus.net/forum/viewtopic.php?t=44874
Funktioniert einwandfrei.
-
Vielen Dank, ich denke jetzt es liegt an diesem komischen DSL-Modem von meinem Vater! Wenn ich nämlich netstat -r eingebe kommt folgendes raus:
=========================================================================== Schnittstellenliste 0x1 ........................... MS TCP Loopback interface 0x2 ...00 04 0e ff ff ff ...... AVM FRITZ!web DSL PPP - Paketplaner-Miniport =========================================================================== =========================================================================== Aktive Routen: Netzwerkziel Netzwerkmaske Gateway Schnittstelle Anzahl 0.0.0.0 0.0.0.0 192.168.122.1 192.168.122.254 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.122.0 255.255.255.0 192.168.122.254 192.168.122.254 1 192.168.122.254 255.255.255.255 127.0.0.1 127.0.0.1 1 192.168.122.255 255.255.255.255 192.168.122.254 192.168.122.254 1 224.0.0.0 240.0.0.0 192.168.122.254 192.168.122.254 1 255.255.255.255 255.255.255.255 192.168.122.254 192.168.122.254 1 Standardgateway: 192.168.122.1 =========================================================================== Ständige Routen: Keine Routingtabelle
Und das es da ein Standard-Gateway gibt ist doch sehr komisch. Also wird das ganze irgendwie wie bei einem Router gehandelt (vermute ich)!
Trotzdem vielen Dak für die Hilfe!!!MFG Stefan
P.S. Gibts irgendeine Lösung um an die richtige IP zu kommen, wenn man hinter einem Router sitzt???
-
Hab dir doch die Lösung mit der IP oben geschrieben.
-
Unix-Tom schrieb:
Hab dir doch die Lösung mit der IP oben geschrieben.
Sorry, das ist mir erst jetzt aufgefallen! Habe ich ausprobiert aber klappt auch nicht.
Habe inzwischen herausgefunden, dass bei manchen DSL-Modems bzw. wenn ein Router davor sitzt, man die IP nur herausbekommt, in dem man sie aus einer html-Seite ausliest! Eine andere Möglichkeit gibt's anscheinend nicht.MFG Stefan