Oppure

Loading
15/04/07 20:28
Pierfrancis
ciao a tutti
qualcuno sa come si puo ottenere con un progarmma in VB il nome dell' account utente di windows?
aaa
24/05/07 8:04
ciccio75
Ciao, la cosa e' fattibile e relativamente semplice.
Prima di tutto dovrai appoggiarti ad un API di Windows, quindi dovrai inserire nel tuo codice quanto segue:

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

A questo punto bastera' appoggiarsi a tale funzione (io per esempio ho creato una funzione apposta in modo da evitare di riscrivere piu' volte lo stesso codice) per ottenere il nome utente. Di seguito ti metto la funzione da me utilizzata:

Function getNomeUser() As String
Dim strString As String
Dim lunghezzaStringa As Long
lunghezzaStringa = 32
strString = String(lunghezzaStringa, " ";)
GetUserName strString, lunghezzaStringa
strString = Left(strString, lunghezzaStringa)
getNomeUser = strString
End Function

A questo punto bastera' richiamare la funzione appena vista, tenendo conto che la "primitiva" restituisce anche un carattere extra (forse un carrier return, non saprei...) che va tolto, quindi:

Dim nome_utente As String
nome_utente = getNomeUser
nome_utente = Mid(nome_utente, 1, Len(nome_utente) - 1)

Ed ecco che la tua variabile nome_utente conterra' il nome dell'account dell'utente attualmente loggato sulla macchina.
aaa