PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Client IP (internet) auslesen!!?!?!?!


Darth_Kane
17.07.2003, 09:38
hey,

ich hab hier versucht ein programm zu schreiben, dass mein clien-ip ausliest. doch wenn ich es ausführe dann bringt er mir nur komische zeichen(zum schluss setzt er noch ein smily!!!!).

Was hab ich falsch gemacht???? unten steht der komplett code.

#include "windows.h"
#include "ras.h"
#include "stdio.h"

void main()
{

RASCONN RasConn;
DWORD RasConnSize;
DWORD Connections;
RASPPPIP lpprojection;
DWORD lpcb;



RasConn.dwSize = RasConnSize = sizeof(RasConn);

if (RasEnumConnections(&RasConn, &RasConnSize, &Connections))
{
printf("Fehler: Mehr als eine aktive RAS-Verbindung!\n");
return;
}
if (Connections != 1)
{
printf("Fehler: Keine aktive RAS-Verbindung!\n");
return;
}

lpcb = sizeof(RASP_PppIp);
RasGetProjectionInfo(RasConn.hrasconn, RASP_PppIp, &lpprojection, &lpcb);
printf("die ip ist %s\n", lpprojection.szIpAddress);
return;
}

gruß markus


Scavi
17.07.2003, 09:49
hmm ... hast du dir mal "lpprojection.szIpAddress" im Debugger angeguckt ?

Darth_Kane
17.07.2003, 10:33
ja, hab ich. da steht als wert immer -52!!!! keine ahnung was das zu bedeuten hat!!!! Need help!!!

Scavi
17.07.2003, 11:47
...hmmm, klingt nüch gerade nach nem Char* ! Da muss wohl davor ein Fehler aufgetreten sein ! ...szIpAddress ist doch ein char* oder ist ein LPirgentwas String ?

Darth_Kane
17.07.2003, 14:14
wie sollte es den deiner meinung nach aussehen?

gruß markus

Scavi
17.07.2003, 14:18
...wie ne Adresse !

Felix Kaiser
17.07.2003, 15:54
Guck doch erstmal welchen Fehlercode dir RasGetProjectionInfo ausspuckt und schaue welche Fehlermeldung dahinter steht. Wenn in der Struktur keine erwünschten Informationen zu finden sind kann man wohl davon ausgehen, dass ein Fehler aufgetreten ist.

Darth_Kane
17.07.2003, 16:46
das ist es ja. der bringt keinen fehler-code. am besten ist wirklich ihr kopiert euch mal den code und erstellt ihn mal bei euch. hab ich eigentlich schon erwähnt das ich neuling auf dem gebiet bin :D

Felix Kaiser
17.07.2003, 17:49
Dann sage ich dir, werfe einen Blick auf lpprojection.dwSize. Machts klick?

Darth_Kane
19.07.2003, 11:04
ne du nicht wirklich :mauer:

Darth_Kane
19.07.2003, 11:45
habs geschafft. DANKE FüR EURE HILFE. :p

Darth_Kane
19.07.2003, 15:12
Ich bin jetzt auch mal so freundlich und schreib den funktionierenden Code rein


#include <windows.h>
#include <ras.h>
#include <stdio.h>

void main()
{

RASCONN RasConn;
DWORD RasConnSize;
DWORD Connections;
RASPPPIP lpprojection;
DWORD lpcb;




RasConn.dwSize = RasConnSize = sizeof(RasConn);

if (RasEnumConnections(&RasConn, &RasConnSize, &Connections))
{
printf("Fehler: Mehr als eine aktive RAS-Verbindung!\n");

}
if (Connections != 1)
{
printf("Fehler: Keine aktive RAS-Verbindung!\n");

}


lpprojection.dwSize = sizeof(RASPPPIP);

RasGetProjectionInfo(RasConn.hrasconn, RASP_PppIp, &lpprojection, &lpcb);
printf("Ihre Internet-Client IP ist %s\n\n", lpprojection.szIpAddress);


}

Felix Kaiser
19.07.2003, 20:20
Benutze das nächste mal bitte die Editfunktion für deinen Beitrag, anstatt hier drei Beiträge hintereinander zu schreiben.