मेरे पास निम्न vbscript कोड है जो स्थानीय आईपी पता देता है। यह बहुत अच्छा काम करता है। मैं अपने Winform .net ऐप में एक ही कार्यक्षमता प्रदान करने की कोशिश कर रहा हूं।मैं .NET में स्थानीय आईपी कैसे प्राप्त कर सकता हूं?
मेरे द्वारा किए गए सभी समाधान DNS का उपयोग करने में शामिल हैं। .NET में उपयोग के लिए इस स्क्रिप्ट को "पोर्ट" करने के तरीके पर कोई विचार है?
ऐसा करने का एक अलग तरीका शायद?
धन्यवाद!
Function GetIP()
Dim ws : Set ws = CreateObject("WScript.Shell")
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
Dim TmpFile : TmpFile = fso.GetSpecialFolder(2) & "/ip.txt"
Dim ThisLine, IP
If ws.Environment("SYSTEM")("OS") = "" Then
ws.run "winipcfg /batch " & TmpFile, 0, True
Else
ws.run "%comspec% /c ipconfig > " & TmpFile, 0, True
End If
With fso.GetFile(TmpFile).OpenAsTextStream
Do While NOT .AtEndOfStream
ThisLine = .ReadLine
If InStr(ThisLine, "Address") <> 0 Then IP = Mid(ThisLine, InStr(ThisLine, ":") + 2)
Loop
.Close
End With
If IP <> "" Then
If Asc(Right(IP, 1)) = 13 Then IP = Left(IP, Len(IP) - 1)
End If
GetIP = IP
fso.GetFile(TmpFile).Delete
Set fso = Nothing
Set ws = Nothing
End Function
उपरोक्त टिप्पणी के समान ही समस्या। यह लौट रहा है -> fe80 :: ad11: 2dc5: 58af: a24b% 14 जो मैंने अब खोजा है वह मेरा आईपीवी 6 पता है। –
हम्म। मैं इसे उत्तर के रूप में स्वीकार करने जा रहा हूं क्योंकि यह वास्तव में किसी भी बॉक्स पर उचित आईपीवी 4 पता देता है जिसमें आईपीवी 6 नहीं है; जो मेरे लक्षित दर्शकों में से हर कोई है, इसलिए यह काम करता है। मुझे यह पता लगाने में दिलचस्पी होगी कि एक विशिष्ट प्रविष्टि कैसे चुना जाए ... लेकिन हां! –
हम्म, पताफैमिली को हल नहीं कर सकता .... –