PDA

Vollständige Version anzeigen : ???????? -> IP auslesen


YveX
04.10.2001, 10:10
Hi,

ich hab ein Programm geschrieben dass übers Netzwerk läuft und indem man sich einloggen muss. (...MDW)
Ich habe nun ein Logging eingerichtet, sodass ich sehen kann, wer sich wann eingeloggt hat.
Nun möchte ich aber auch noch sehen, VON WO (welchem PC) sich dieser User eingeloggt hat!
Also mach ich das indem ich die IP des jeweiligen PC's auslese und in die Tabelle schreibe indem auch die User-ID und die Zeit/Datum eingetragen werden.

Kann mir jetzt bitte jemand sagen WIE?!?! (IP auslesen)
HILFE!

und danke vielmals!

Morli
04.10.2001, 10:22
Hi YveX,

folgender Code funzt bei mir (WinNT, A97, SR2) einwandfrei:

Option Compare Database
Option Explicit

'Variable zum Verhindern, das die DB über den Close-Button geschlossen wird ( zusammen mit Formular ! )
Global ErlaubeSchließen As Boolean

'Variablen zum Erkennen der Win-Users und des Computers

Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long

Private Declare Function GetComputerName Lib "Kernel32" Alias "GetComputerNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long

'Variablen zum Steuern von NumLock

Private Const VK_NUMLOCK = &H90
Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Const KEYEVENTF_KEYUP = &H2
Private Const VER_PLATFORM_WIN32_NT = 2
Private Const VER_PLATFORM_WIN32_WINDOWS = 1

Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type

Private Declare Function GetVersionEx Lib "Kernel32" Alias "GetVersionExA" _
(lpVersionInformation As OSVERSIONINFO) As Long

Private Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwflags As Long, _
ByVal dwExtraInfo As Long)

Private Declare Function GetKeyboardState Lib "user32" _
(pbKeyState As Byte) As Long

Private Declare Function SetKeyboardState Lib "user32" _
(lppbKeyState As Byte) As Long

Public Function CurrentUserWin() As String
Dim lpUsername As String
Dim lngTmp As Long

On Error Resume Next

lpUsername = Space(255)

lngTmp = GetUserName(lpUsername, 255)

If Err.Number = 0 Then
CurrentUserWin = Trim(CutNullChar(lpUsername))
Else
CurrentUserWin = ""
End If

End Function

Public Function ComputerName() As String
Dim lpComputername As String
Dim lngTmp As Long

On Error Resume Next

lpComputername = Space(255)

lngTmp = GetComputerName(lpComputername, 255)

If Err.Number = 0 Then
ComputerName = Trim(CutNullChar(lpComputername))
Else
ComputerName = ""
End If

End Function

Gruß

Rainer ;)

Stefan Kulpa
04.10.2001, 14:23
<font face="Verdana" size="2">Hallo YveX,

wenn es dir "nur" um die IP-Adresse geht, findest du <a href="http://www.mvps.org/vbnet/code/network/ipaddress.htm" target="_blank">hier</a> die Lösung.

HTH</font>