Seite 1 von 1
Rechner IP Adresse auslesen, wo?
Verfasst: 03.01.2007 19:25
von gerdra
Hallo,
an welcher Adresse kann man mit einem selbstgeschriebenen PB-Programm die IP Adresse eines Rechners auslesen und wo und wie? Weiß das jemand?
Verfasst: 03.01.2007 19:33
von edel
Code: Alles auswählen
InitNetwork()
ExamineIPAddresses()
ip = NextIPAddress()
While ip
ip = NextIPAddress()
Debug IPString(ip)
Wend
Verfasst: 03.01.2007 19:34
von coder
Guck mal in die PB-Hilfe unter Network, da bigt es den Befehl ExamineIPAddresses().
Wenn man sich mit einer Sache beschäftig lernt man sie schneller

Verfasst: 03.01.2007 19:42
von gerdra
Hallo edel und coler,
ich danke euch für die Superantwort. Ja, habt recht, aber ich habe mit dem Bereich Network noch nichts gemacht, werde mich da mal einarbeiten.
Danke auch für den Beispielcode.
Verfasst: 03.01.2007 19:45
von gerdra
Nur noch eine andere Frage zu diesem Thema:
Wenn ich mehrere IP Adressen auslese, welche ist denn dann die "richtige" IP Adresse. Ich möchte mein Programm gegen Weitergabe durch Kopieren schützen und will damit unterbinden, dass das Programm auf anderen Rechnern läuft, also nur auf einem einzigen authorisierten Rechner.
Verfasst: 03.01.2007 19:50
von ts-soft
>> und will damit unterbinden, dass das Programm auf anderen Rechnern läuft, also nur auf einem einzigen authorisierten Rechner.
Dafür ist die IP aber denkbar ungeeignet. Entweder die Mac-Adresse des
Adapters oder vielleicht die Seriennummer des Systemlaufwerks
Gruß
Thomas
Verfasst: 03.01.2007 20:41
von PureBasic4.0
oder vielleicht einfach nur eine Kennwortabfrage einbauen...
Verfasst: 03.01.2007 20:43
von gerdra
Hi Ts-Soft,
also gut, muß ich akzeptieren, weil ich damit noch keine Erfahrung habe. Klar, die IP ist nicht unbedingt immer eineindeutig.
Wie lese ich denn mit PB die Seriennummer des Festplattenlaufwerkes
aus?
Verfasst: 03.01.2007 20:45
von gerdra
Hm PureBasic 4.0,
tja Kennwortabfrage, dann gibt der authorisierte Nutzer das ganze an andere Nutzer weiter incl. Kennwort, und letzterer wieder und....
Denke, da ist die Ermittlung der Seriennummer besser!?
Verfasst: 03.01.2007 21:01
von ts-soft
Code: Alles auswählen
EnableExplicit
Procedure.s GetDriveSerial(Drive.s)
Protected lpVolumeNameBuffer.s, lpVolumeSerialNumber.l
If Len(Drive) = 1 : Drive + ":\" : EndIf
If Right(Drive, 1) <> "\" : Drive + "\" : EndIf
lpVolumeNameBuffer.s = Space(#MAX_PATH +1)
GetVolumeInformation_(@Drive, @lpVolumeNameBuffer, #MAX_PATH +1, @lpVolumeSerialNumber, 0,0,0,0)
ProcedureReturn Hex(PeekW(@lpVolumeSerialNumber + 2) & $FFFF) + "-" + Hex(PeekW(@lpVolumeSerialNumber) & $FFFF)
EndProcedure
Debug GetDriveSerial("C:")
Gruß
Thomas
// Nachtrag: Das Laufwerk des Programmes wäre wohl besser, weil
C: muß nicht existieren: