Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
oxpannik
10 / 10 / 0
Регистрация: 28.05.2012
Сообщений: 69
#1

Узнать имя пользователя - VB

19.06.2012, 21:03. Просмотров 2655. Ответов 4
Метки нет (Все метки)

Добрый день, подскажите пожалуйста как узнать имя пользователя. Как по мне это относиться к разряду
Win API функций, а в этой области я только учебник подбираю. Заранее спасибо
http://www.cyberforum.ru/visual-basic/thread459208.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2012, 21:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Узнать имя пользователя (VB):

Как получить имя пользователя NT домена ? (0)
Как получить имя пользователя NT домена ? (0)

Имя пользователя в НТ или в 2к, как определить?
Как определить имя пользователя - с которым вошли в NT or 2k Если есть...

Нужно получить имя текущего пользователя, как?
Есть такая функция GetUserName, которая возвращает название аккаунта который...

Как средствами VB узнать IP адрес или имя ПК?
Как средствами VB узнать IP адрес или имя ПК, запустившего приложение и...

Как через FileSystemObject узнать имя папки?
Имеется путь(постоянный), единственное, что различается на всех компьютерах,...

4
SoftIce
comment ca va
10416 / 3918 / 999
Регистрация: 27.07.2011
Сообщений: 9,478
Завершенные тесты: 1
19.06.2012, 21:24 #2
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Declare Function getUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
 
Private Sub Command1_Click()
    Print UserName()
End Sub
 
Private Function UserName() As String
   Dim User As String
   User = String(255, " ")
   getUserName User, Len(User)
   UserName = Left(User, Len(Trim(User)) - 1)
End Function
0
Апострофф
Заблокирован
19.06.2012, 21:26 #3
Visual Basic
1
Environ("USERNAME")
Оно?
2
SoftIce
comment ca va
10416 / 3918 / 999
Регистрация: 27.07.2011
Сообщений: 9,478
Завершенные тесты: 1
19.06.2012, 21:36 #4
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Апострофф Посмотреть сообщение
Visual Basic
1
Environ("USERNAME")
+100500

А я в интернете нарыл ещё "круче"
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare Function LookupAccountName Lib "advapi32.dll" Alias "LookupAccountNameA" (lpSystemName As String, ByVal lpAccountName As String, sid As Any, cbSid As Long, ByVal ReferencedDomainName As String, cbReferencedDomainName As Long, peUse As Long) As Long
Public Function GetLogonDomainuser() As String
Dim lResult As Long
Dim I As Integer
Dim bUserSid(255) As Byte
Dim sUserName As String
Dim sDomainName As String * 255
Dim lDomainNameLength As Long
Dim lSIDType As Long
sUserName = GetLogonUser
lResult = LookupAccountName(vbNullString, sUserName, bUserSid(0), 255, sDomainName, lDomainNameLength, lSIDType)
sDomainName = Space(lDomainNameLength)
lResult = LookupAccountName(vbNullString, sUserName, bUserSid(0), 255, sDomainName, lDomainNameLength, lSIDType)
If (lResult = 0) Then
MsgBox "Ошибка: невозможно найти имя домена для юзера: " & sUserName
Exit Function
End If
sDomainName = Left$(sDomainName, InStr(sDomainName, Chr$(0)) - 1)
GetLogonDomainuser = Trim(sDomainName)
End Function
Private Function GetLogonUser() As String
Dim strTemp As String, strUserName As String
strTemp = String(100, Chr$(0))
strTemp = Left$(strTemp, InStr(strTemp, Chr$(0)) - 1)
strUserName = String(100, Chr$(0))
GetUserName strUserName, 100
strUserName = Left$(strUserName, InStr(strUserName, Chr$(0)) - 1)
GetLogonUser = strUserName
End Function
 
Public Function UserName() As String
Dim cn As String
Dim ls As Long
Dim res As Long
cn = String(1024, 0)
ls = 1024
res = GetUserName(cn, ls)
If res <> 0 Then
UserName = Mid(cn, 1, InStr(cn, Chr(0)) - 1)
Else
UserName = ""
End If
End Function
 
Private Sub Command1_Click()
MsgBox GetLogonDomainuser
MsgBox GetLogonUser 'или MsgBox UserName
End Sub
2
oxpannik
10 / 10 / 0
Регистрация: 28.05.2012
Сообщений: 69
19.06.2012, 21:40  [ТС] #5
Спасибо, по круче)

Добавлено через 2 минуты
Это как раз то что нужно было, спасибо ещё раз
0
19.06.2012, 21:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2012, 21:40
Привет! Вот еще темы с решениями:

Зная имя хоста – узнать IP-адрес машины.
Доброе время суток. Если у кого найдётся время - help? Plizz Мой...

Как узнать имя компьютера (своего, чужого) из кода на VB?
Как узнать имя компьтера(своего,чужого) из кода на VB ??? Спасиба

Есть ли способ во время исполнения процедуры узнать ее имя?
Есть ли способ во время исполнения проседуры узнать ее имя? Например:...

Как из VB узнать login пользователя WIN2000 Server?
Как из VB узнать login пользователя WIN2000 Server? Подскажите где в реестре...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru