Získání informací o počítači   zodpovězená otázka

VB6/VBA

Mohl by mi někdo poradit jakým způsobem získám informaci o ID počítače, resp. IP adrese nebo přihlašovací jméno do Windows?

Předem děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

K tomu přihlašovacím jménu: nepomůže toto:

1
My.Computer.Users.CurrentUser

Vážně nevím zda to tak je, protože mi stávkuje VS. Snad je to správně.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ne, to funguje jen ve VB.NET, ne ve staré verzi 6.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Omlouvám se, nevšiml jsem si, že se jedná o VB6.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jméno uživatele lze zjistit třeba pomocí API :

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

1
2
3
4
5
6
7
'Jméno přihlášeného uživatele
Public Function getCurrWinUserName() As String
Dim strNameOfCurUser As String
strNameOfCurUser = Space(255)
GetUserName strNameOfCurUser, 255
getCurrWinUserName = Mid(strNameOfCurUser, 1, InStr(1, strNameOfCurUser, Chr(0), vbTextCompare) - 1)
End Function

nahlásit spamnahlásit spam 0 odpovědětodpovědět

IP lze zjistit pomocí Winsock

1
2
3
4
5
6
7
8
' nutno přidat do projektu knihovnu
' postup: CTRL-T - najít a zatrhnout: "Microsoft WinSock Control"
' přidat na formulář
 
Private Sub Form_Load()
  MsgBox "IP: " & Winsock1.LocalIP & vbCrLf & vbCrLf & _
         "PC: " & Winsock1.LocalHostName
End Sub

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Problém je v tom, že každý nemusí mít komponentu WinSock v počítači nainstalovanou. COM komponenty totiž nestačí zkopírovat jako .NET komponenty, ale musí se také zaregistrovat pomocí regsvr32... V čisté instalaci Windows XP Professional například tato komponenta není.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback