hvis det er din egen PC kan du gå ind på www.myip.com hvis det er en fremmed computer kan du taste nummeret ind på http://www.dk-hostmaster.dk/res2IPno.shtml (det kan du også med din egen PC hvis den er registreret i DNS).
Nåeh, hvis du mener om der er en mapping mellem MS-network navnet og IP adressen så er svaret nej. Du kan mao ikke finde IP adressen hvis du kun kender maskinens MS-network navn.
neess - nej, nej rolig - jeg tager mine ord i mig igen (jeg mente faktisk at det var et godt forslag fordi det virkede - de to ting er vel ikke uforenelige?)
corex - jeg har set kategorien (nu). Der er jeg lost.
Man kunne f.eks. anvende winsock controllen (følger med vb som standard control).
Tilføj Winsock controllen til en form (som Winsock1)
Tilføj følgende i form koden:
Option Explicit
Private Sub Form_Load() Set mySock = Me.Winsock1 With mySock .RemoteHost = InputBox(\"Input host name\") .RemotePort = InputBox(\"Remote Port (eg. 80)\", , 80) .Connect End With End Sub
Private Sub winsock1_Connect() MsgBox mySock.RemoteHostIP End Sub
Private Sub winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) MsgBox Description End Sub
With Winsock1 .RemoteHost = InputBox(\"Input host name\") .RemotePort = InputBox(\"Remote Port (eg. 80)\", , 80) .Connect End With End Sub
Private Sub winsock1_Connect() MsgBox Winsock1.RemoteHostIP End Sub
Private Sub winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) MsgBox Description End Sub
Du skal som remote port sætte en port der er åben på den pågældende maskine.
Alternativt skal du droppe winsock kontrolle og kaste dig ud i lidt winsockprogrammering :)
F.eks.: ---modHostInfo.bas--- Option Explicit
Public Const IP_SUCCESS As Long = 0 Public Const MAX_WSADescription As Long = 256 Public Const MAX_WSASYSStatus As Long = 128 Public Const WS_VERSION_REQD As Long = &H101 Public Const WS_VERSION_MAJOR As Long = WS_VERSION_REQD \\ &H100 And &HFF& Public Const WS_VERSION_MINOR As Long = WS_VERSION_REQD And &HFF& Public Const MIN_SOCKETS_REQD As Long = 1 Public Const SOCKET_ERROR As Long = -1
Public Type WSADATA wVersion As Integer wHighVersion As Integer szDescription(0 To MAX_WSADescription) As Byte szSystemStatus(0 To MAX_WSASYSStatus) As Byte wMaxSockets As Long wMaxUDPDG As Long dwVendorInfo As Long End Type
Private Declare Function gethostbyname Lib \"WSOCK32.DLL\" _ (ByVal hostname As String) As Long
Private Declare Sub CopyMemory Lib \"kernel32\" _ Alias \"RtlMoveMemory\" _ (xDest As Any, _ xSource As Any, _ ByVal nbytes As Long)
Private Declare Function lstrlenA Lib \"kernel32\" _ (lpString As Any) As Long
Public Declare Function WSAStartup Lib \"WSOCK32.DLL\" _ (ByVal wVersionRequired As Long, _ lpWSADATA As WSADATA) As Long
Public Declare Function WSACleanup Lib \"WSOCK32.DLL\" () As Long
If WSACleanup() <> 0 Then MsgBox \"Windows Sockets error occurred in Cleanup.\", vbExclamation End If
End Sub
Public Function GetIPFromHostName(ByVal sHostName As String) As String Dim nbytes As Long Dim ptrHosent As Long Dim ptrName As Long Dim ptrAddress As Long Dim ptrIPAddress As Long Dim sAddress As String sAddress = Space$(4) ptrHosent = gethostbyname(sHostName & vbNullChar) If ptrHosent <> 0 Then ptrAddress = ptrHosent + 12 CopyMemory ptrAddress, ByVal ptrAddress, 4 CopyMemory ptrIPAddress, ByVal ptrAddress, 4 CopyMemory ByVal sAddress, ByVal ptrIPAddress, 4
GetIPFromHostName = IPToText(sAddress)
End If
End Function
Private Function IPToText(ByVal IPAddress As String) As String
Hvad skal jeg gøre, hvis jeg vil trykke på en knap, og derved få en Inputbox op, hvor jeg kan skrive computernavn. Til sidst få en msgbox med ip-adressen?
Okay...de er lidt spildt givet ud...prøv at søg på nettet efter det spøgsmål...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.