Daten von "ipconfig" herausfinden

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

miLORD

Betreff: Daten von "ipconfig" herausfinden

BeitragMo, Jan 16, 2006 20:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,
Wie kann man herausfinden, welche Daten der eigene PC hat?

Ich würde gerne über eine Verbindung Daten über meinen PC (Die Daten, die er ausgibt, wenn man in der Eingabeaufforderung "IPCONFIG" eingibt) schicken. Schicken klappt ja; nur:

Wie komme ich an die Daten?
brqwq?! oO

preachie

BeitragMo, Jan 16, 2006 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Welche Daten meinst Du genau?

Wenn es sich 'nur' um die IP-Adresse(n) handelt, kannst Du diese evtl. auch auf folgendem Wege ermitteln:

Code: [AUSKLAPPEN]
ip_count=CountHostIPs(GetEnv("localhost"))
For i=1 To ip_count
   Print DottedIP(HostIP(i))
Next

Function INT_IP(IP$)
   a1=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
   a2=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
   a3=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
   a4=Int(IP$)
   
   Return (a1 Shl 24) + (a2 Shl 16) + (a3 Shl 8 ) +a4
End Function


Gruß
Preachie
 

BIG BUG

BeitragMo, Jan 16, 2006 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Ausgaben von DOS-Commandos lassen sich mit dem ">" Operator auch in Dateien umlenken:
Code: [AUSKLAPPEN]

ipconfig > blubb.txt

In blubb.txt steht jetzt die Ausgabe von IPCONFIG.


Btw. kann man zum Konvertieren von eingegebenen String-IPs zu Integer auch CountHostIPs verwenden. Dabei werden auch Computernamen umgesetzt.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

miLORD

BeitragDi, Jan 17, 2006 1:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Und das geht in Blitz? Ich weiß nicht, wie ich mit Blitz auf die Eingabeaufforderung zugreifen kann... wenns überhaupt geht. Wenn man weiß wie, ist der Rest ja ein Kinderspiel... daten auslesen/in datei schreiben lassen, per blitz weiterverarbeiten.

Nur wie komm ich eben an die Daten? Das ist ja mein Problem...

@ preachie:
Nein, es soll ja der Hostname/Pcname sein. (Forumssuche kenn ich, da hätt ich sonst ja viel zu gefunden Wink ) Ip's bekomm ich auch so... mit PHP gehts übrigens am besten Wink (nur son tipp)

trozdem Danke!
brqwq?! oO

preachie

BeitragDi, Jan 17, 2006 2:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ehrlich gesagt verstehe ich zwar noch nicht genau, wieso Du den Hostnamen benötigst und die IP nicht ausreicht, aber sei's drum Wink

Mit folgendem Code kann ich meinen Hostnamen mit Blitz ermitteln (ist zwar jetzt nicht sonderlich flexibel mein Code, aber sollte als Anreiz ausreichen Very Happy)

Code: [AUSKLAPPEN]
ExecFile "ip.bat"

filein = ReadFile("C:\ipinfo.txt")
While Not Eof(filein)
   inputline$ = ReadLine(filein)
   If Instr(inputline$, "Hostname") Then
      startpos = Instr(inputline$,":")
      hostname$ = Mid$(inputline$, startpos + 2)
   End If
Wend

CloseFile(filein)

Print "Der Hostname lautet: " + hostname$


Inhalt der ip.bat:

Code: [AUSKLAPPEN]
ipconfig /all > C:\ipinfo.txt


Ich hoffe, das hilft nun aber weiter Wink

Gruß
Preachie

P.S.: Achja, noch als Anmerkung:
Code: [AUSKLAPPEN]
ExecFile "ipconfig /all > C:\ipinfo.txt"
hat irgendwie nicht geklappt... keine Ahnung, ob man beim ExecFile Befehl nicht mehrere Parameter übergeben kann....
Daher halt der Umweg über die .bat Wink

D2006

Administrator

BeitragDi, Jan 17, 2006 2:20
Antworten mit Zitat
Benutzer-Profile anzeigen
preachie hat Folgendes geschrieben:
P.S.: Achja, noch als Anmerkung:
Code: [AUSKLAPPEN]
ExecFile "ipconfig /all > C:\ipinfo.txt"
hat irgendwie nicht geklappt... keine Ahnung, ob man beim ExecFile Befehl nicht mehrere Parameter übergeben kann....
Daher halt der Umweg über die .bat Wink


Musst du:
Code: [AUSKLAPPEN]
ExecFile chr$(34) + "ipconfig /all > C:\ipinfo.txt" + chr$(34)


Ach und wenn der Fragende BlitzPlus besitzt, sollte er mal in der Onlinehilfe nach "CreateProcess" schaun.

MfG
D2006
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

preachie

BeitragDi, Jan 17, 2006 2:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Das bedeutet, dass wenn beim ExecFile Aufruf Leerzeichen enthalten sind, der String sozusagen doppelt gequoted sein muss?

Und das mit dem CreateProcess muss ich mir auch mal merken Wink

Danke für die Infos!

Preachie

D2006

Administrator

BeitragDi, Jan 17, 2006 2:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Exakt, das liegt aber nicht an Blitz sondern an shell dingens.

Die Anführungszeichen die wir normal setzen sagen ja nur dem Blitz Compiler, dass jetzt ein String folgt. Im eigentlich String sind die nicht mit drin. Allerdings werden die Dinger benötigt, wenn man ShellExecute (was ExecFile letztenendes ist) benutzt. Das fällt nur nicht auf, wenn der Dateiname eh kein Leerzeichen hat.

MfG
D2006
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2
 

Apocalyptic

BeitragDi, Jan 17, 2006 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
@D2006: Blödsinn. Anführungszeichen brauchst du, um zu vermeiden, dass Leerzeichen als Trennung zwischen Pfad und Parameter angesehen werden. Also ist es völliger Blödsinn, den Befehl samt Parameter in Anführungszeichen zu stecken... Wink

Code: [AUSKLAPPEN]
Path$="c:\ip.txt"

ExecFile "cmd /c ipconfig /all > "+Chr(34)+Path+Chr(34)

Delay 1000

Stream=ReadFile(Path)

While Not Eof(Stream)

   Print ReadLine(Stream)

Wend

CloseFile(Stream)

WaitKey()

DeleteFile Path
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]

miLORD

BeitragDi, Jan 17, 2006 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Fein, so gehts ja prima!

Nur eins noch: Wie kann man verhindern, dass er vorher das fenster anzeigt und aus dem programm aussteigt?

Im vollbildmodus funzt das ganze nämlich nicht Confused Sad

P.S.: Besitze B3D, nicht plus...
brqwq?! oO

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group