Страницы: 1
RSS
Как получить логин пользователя на его ПК, включенного в ЛВС
 
Уважаемые!  
Что-то не знаю как сделать - в поиске не нашел.  
Ситуация:    
ПК подключен к ЛВС. Нужно получить и вывести в ячейку логин пользователя ПК, который не совпадает с именем ПК.  
Возможно-ли это сделать средствами VBA/API?  
Ведь при загрузке ПК логин высвечивается. Видимо где-то в реестре хранится.    
Нужно это для индентификации оператора вводившего данные в БД АКЕС через DAO c интерфейсом ЕКСЕЛ  - к сожалению надо только так :((
 
{quote}{login=SVM}{date=11.08.2011 01:56}{thema=Как получить логин пользователя на его ПК, включенного в ЛВС}{post}Уважаемые!  
Что-то не знаю как сделать - в поиске не нашел.  
Ситуация:    
ПК подключен к ЛВС. Нужно получить и вывести в ячейку логин пользователя ПК, который не совпадает с именем ПК.  
Возможно-ли это сделать средствами VBA/API?  
Ведь при загрузке ПК логин высвечивается. Видимо где-то в реестре хранится.    
Нужно это для индентификации оператора вводившего данные в БД АКЕС через DAO c интерфейсом ЕКСЕЛ  - к сожалению надо только так :(({/post}{/quote}  
 
P.S.  
Ну, хотя бы имя ПК
 
Private Declare Function GetComputerNameA Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Long  
Private Declare Function WNetGetUserA Lib "mpr.dll" (ByVal lpName As String, ByVal lpUsername As String, lpnLength As Long) As Long  
 
Function GetComputerName() As String  
   Dim sBuffer As String * 255  
       If GetComputerNameA(sBuffer, 255&) <> 0 Then  
           GetComputerName = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)  
       End If  
End Function  
 
Function GetUserName() As String  
   Dim sUserNameBuff As String * 255  
   sUserNameBuff = Space(255)  
   Call WNetGetUserA(vbNullString, sUserNameBuff, 255&)  
   GetUserName = Left$(sUserNameBuff, InStr(sUserNameBuff, vbNullChar) - 1)  
End Function  
 
55553
Спасибо
 
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias "GetUserNameA" _  
(ByVal lpBuffer As String, nSize As Long) As Long  
 
 
' Возвращает сетевое имя пользователя  
Function funGetUserName() As String  
Dim BufSize As Long, strUserName As String * 255, Status As Long  
    On Error GoTo 999  
        BufSize = 255  
        Status = apiGetUserName(strUserName, BufSize)  
        If Status = 1 Then  
            funGetUserName = Left$(strUserName, InStr(strUserName, Chr(0)) - 1)  
        Else  
            funGetUserName = ""  
        End If  
    Exit Function  
999:  
    MsgBox Err.Description  
End Function
Спасибо
 
как вариант    
Set WshNetwork = CreateObject("WScript.Network")  
MsgBox WshNetwork.UserName  
 
http://script-coding.com/WSH/WshNetwork.html
 
Jom, спасибо. Мне тоже пригодится. А можно узнать IP-адрес? А в статье не нашел. Может невнимательно смотрел...
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Msgbox "" & Environ$("USERNAME")
 
Visual Basic 6 provides a function called Environ through which you can get all the environment variables available. It takes string parameter which is name of the Environment variable and returns its value.  
 
The Valid Environment strings are  
 
ALLUSERSPROFILE  
APPDATA  
CI_HOLOS_CLI  
CLIENTNAME  
CommonProgramFiles  
COMPUTERNAME  
ComSpec  
FP_NO_HOST_CHECK  
HOMEDRIVE  
HOMEPATH  
include  
JAVA_HOME  
lib  
LOGONSERVER  
MSDevDir  
NUMBER_OF_PROCESSORS  
OS  
Path  
PATHEXT  
PROCESSOR_ARCHITECTURE  
PROCESSOR_IDENTIFIER  
PROCESSOR_LEVEL  
PROCESSOR_REVISION  
ProgramFiles  
SESSIONNAME  
SystemDrive  
SystemRoot  
TEMP  
TMP  
USERDNSDOMAIN  
USERDOMAIN  
USERNAME  
USERPROFILE  
windir
 
узнать Ip в vb можно через api  
http://www.source-code.biz/snippets/vbasic/8.htm
 
egonomist, И Вам спасибо!
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
>  А можно узнать IP-адрес?  
 
Получение списка IP адресов средствами VBA  
http://excelvba.ru/code/IPaddresses
 
EducatedFool, благодарю!
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Вариант скрипткодинга можно сократить  - без переменных:  
 
MsgBox CreateObject("WScript.Network").UserName
 
Огромное спасибо ВСЕМ!!!
Страницы: 1
Читают тему
Наверх