Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
Cypher_0
Newbie
Newbie

Anmeldedatum: 12.08.2008
Beiträge: 12

IP über Registry auslesen
Verfasst am: 23.09.2008, 20:48

Guten Abend,

ich bin grade dabei ein Programm zu schreiben, welches mir die IP ausgibt. Da das über das Winsock - Element irgendwie doof wird und mir APIs dafür im Moment noch zu hoch sind (und ich von C&P nichts halte), versuche ich die IP aus der Reg auszulesen per WSH.
Nach viel Hängen und Würden kommt dieser komische "Ungültige Wurzel in.." Fehler nicht mehr. Dafür bekomm ich jetzt aber ein Type Mismatch.

Hier der Code:

Visual Basic: [code]
Set RegShell = CreateObject("WScript.Shell")
IP = RegShell.RegRead("HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{9EDA5842-BBD5-428F-B553-A46AB2994C93}DefaultGateway")
Label1.Caption = IP[/code]

In der letzten Zeile kommt dann der Fehler. Nur wie kann das sein, wenn IP sogar als Variant definiert ist?
 
BlAcKfINAl.aT
Poster
Poster

Anmeldedatum: 26.07.2008
Beiträge: 162


Verfasst am: 23.09.2008, 20:51

Use doch einfahc das Csocket , dnan braucht man kein OSX file und es ist lustig mit einer zeile soweit ich weis ^^

mfg
 
Cypher_0
Newbie
Newbie

Anmeldedatum: 12.08.2008
Beiträge: 12


Verfasst am: 23.09.2008, 21:03

und was genau ist ein Csocket? scheitn mir sowas wie ein winsock zu sein?

Wenn ja fällt die Möglicheit flach, denn ich lasse die IP anzeige sich aktualisieren (per Timer) und komischerweise kommt da das Winsock nicht mit klar. Und mit dem WSH scheint es mir am leichtestesn, eigentlich.

Edit: Ok, bin über n Post gestolpert der sagt, dass das Csocket wohl sowas wie ein Nachbau ist. Folglich fällt die möglichkeit flach. Zumal ich gerne wissen würde, was bei meinem Code genau falsch ist.
 
BlAcKfINAl.aT
Poster
Poster

Anmeldedatum: 26.07.2008
Beiträge: 162


Verfasst am: 23.09.2008, 21:05

Google mal nach cSocket , tu ich auch.
Wenn ich was gefunden habe, stell ichs rein.

Es ist eine (verbesserte) Version Vom Winsock.

Kannste einfach n Timer einstellen und sagen

lblIP.caption = cSocket.localip

oder wie das heißt...
musst dich mal mit befassen....

Aufjedenfall is es mit nem timer möglich , hab ich schon gemacht ^^
 
Cypher_0
Newbie
Newbie

Anmeldedatum: 12.08.2008
Beiträge: 12


Verfasst am: 25.09.2008, 15:41

Kann mir denn keiner erklären, warum zur Hölle ich mit dem WSH (Referenz gesetzt) nicht diesen Wert auslesen kann, dafür aber jeden anderen? Kann mir keiner sagen, was mir VB6 sagen will, wenn die Fehlermeldung "Der Schlüssel $bla wurde nicht zum lesen geöffnet"?
 
nicok
Poster
Poster

Anmeldedatum: 15.05.2008
Beiträge: 161


Verfasst am: 25.09.2008, 16:49

(BlAcKfINAl.aT;8787)
Es ist eine (verbesserte) Version Vom Winsock.


Kenn welche die behaupten CSocket sei um einiges unstabiler. nicht zuletzt sniper*** und der müsste es ja wissen Wink

Zu deinem Problem:

Willst du die Netzwerk IP haben oder die, die von deinem Provider dir zugeteilt wird?

1) NetzwerkIP: cmd -> ipconfig (.bat schreiben oder pipe setzen)
2) "ProviderIP": phpScript zum anzeigen der IP, oder auch bekannte seiten wie meineip.de auslesen.
 
Cypher_0
Newbie
Newbie

Anmeldedatum: 12.08.2008
Beiträge: 12


Verfasst am: 25.09.2008, 19:04

hab mich jetzt auf die möglichkeit geeinigt, ne cmd "ipconfig /all" ausführen zu lassen und dann nach dem Pattern (die ersten zwei Oktetts sind immer gleich" suchen zu lassen. mich wundert nur trotzdem halt, dass er den registrypfad nicht ausgelesen bekommt.
 
^^kev####
Überflieger
Überflieger

Anmeldedatum: 01.05.2008
Beiträge: 476
Wohnort: Haan


Verfasst am: 25.09.2008, 19:11

Und was macht ihr, wenn ihr nen Router habt?
Dann steht die Internet IP nicht bei ipconfig drinnen,
sondern nur die LAN IP.
 
Cypher_0
Newbie
Newbie

Anmeldedatum: 12.08.2008
Beiträge: 12


Verfasst am: 25.09.2008, 19:26

da ich das programm eh nur für mich persönlich schreibe, ist es eh nur für meinen rechner ausgelegt. das kann also vernachlässigt werden. aber anscheinend fällt niemandem was zu meinem registry problem ein oder? ich mein, das ist n stinknormaler reg_multi_sz wert und ich kann den einfach nicht auslesen. das versteh ich einfach nciht.
 
^^kev####
Überflieger
Überflieger

Anmeldedatum: 01.05.2008
Beiträge: 476
Wohnort: Haan


Verfasst am: 25.09.2008, 19:43

Guck dir das mal an => http://myitforum.com/cs2/blogs/yli628/arch...nformation.aspx
Wird dir sicherlich helfen Wink
 
Cypher_0
Newbie
Newbie

Anmeldedatum: 12.08.2008
Beiträge: 12


Verfasst am: 25.09.2008, 21:16


You made my day.Very Happy Endlich funktioniert es. Also musste ich quasi das Array, was ja der reg_multi_sz - wert ist mit den Punkten zusammenfügen.


Vielen Dank.
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: visual basic, auslesen, registry, regread, ungültige

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wichtig: [Ebook] jetzt lerne ich Visual Basic 6 5067 02.06.2010, 13:55
Keine neuen Beiträge Miceosoft Visual Basic 6.0 Einsteiger Kurs? 1189 17.02.2007, 21:01
Keine neuen Beiträge SUCHE MICROSOFT VISUAL BASIC! 944 12.02.2007, 21:54
Keine neuen Beiträge Microsoft Visual Basic 1275 28.01.2007, 00:59
Keine neuen Beiträge Visual Basic.. Version?? 1230 22.01.2007, 18:23
 


[ Time: 0.0774s ][ Queries: 110 (0.0340s) ][ GZIP on - Debug on ]