Gjoreski 06.10.2015 15:13
Predmet:Re: User Name & Local PC Name API

ova e dobro za computer name

PreuzmiIzvorni kôd (Visual Basic):
  1. Declare Function GetComputerNameA Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Long
  2.  
  3. Public Function GetComputerName() As String
  4. Dim sResult As String * 255
  5.     GetComputerNameA sResult, 255
  6.     GetComputerName = Left$(sResult, InStr(sResult, Chr$(0)) - 1)
  7. End Function

zxz 06.10.2015 15:17
Predmet:Re: User Name & Local PC Name API

Ovo na vrhu modula
PreuzmiIzvorni kôd (Visual Basic):
  1. Declare Function KorisnikK Lib "advapi32.dll" Alias "GetUserNameA" _
  2.    (ByVal lpBuffer As String, nSize As Long) As Long

Ovo u modulu
PreuzmiIzvorni kôd (Visual Basic):
  1. Function ImeKorisnika() As Variant
  2. '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  3. 'FUNKCIJA ZA ITANJE IMENA KORISNIKA RA UNARA
  4. 'AutorZXZ
  5. '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  6.  
  7. '--------------------------------------------------------------------------------------------------------------
  8. 'TREBA DEKLARISATI OVAJ DLL (Vidi po
  9. etak modula)
  10. 'Declare Function KorisnikK Lib "advapi32.dll" Alias "GetUserNameA" _
  11. '(ByVal lpBuffer As String, nSize As Long) As Long
  12. '--------------------------------------------------------------------------------------------------------------
  13. On Error GoTo scoKorisnikK_Err
  14. Const strProcName As String = "KorisnikO"
  15. Dim intProcErrResp As Integer
  16. Dim strOSUName As String
  17. Dim lngLength As Long
  18. Dim lngResult As Long
  19.  
  20. strOSUName = String$(255, 0)
  21. lngLength = 255
  22. lngResult = KorisnikK(strOSUName, lngLength)
  23. ImeKorisnika = Left$(strOSUName, InStr(1, strOSUName, Chr(0)) - 1)
  24. KorisnikO_Exit:
  25. Exit Function
  26. scoKorisnikK_Err:
  27.   MsgBox "Error " & Err.Number & ":   " & Err.Description, vbInformation, "Error in " & strProcName, "Ime Baze"
  28.   Resume KorisnikO_Exit
  29. End Function

Ovo je sa API procedurom

a ovo je sa naredbom Environ
Procedura:
PreuzmiIzvorni kôd (Visual Basic):
  1. Function InfoSIS(Naziv As String)
  2. Dim EnvString, Indx, I
  3. Do
  4. Indx = Indx + 1
  5.     EnvString = Environ(Indx)
  6.    I = InStr(1, EnvString, Naziv, vbTextCompare)
  7.     If I = 1 Then
  8.     InfoSIS = Mid(EnvString, Len(Naziv) + 2)
  9.     GoTo Kraj
  10.     End If
  11. Loop Until EnvString = ""
  12. Kraj:
  13. End Function

Primjer poziva:
Function poziv()
MsgBox InfoSIS("username")
End Function

E sad sta pisati u naziv kao ulazni parametar.
Evo spisak:
ALLUSERSPROFILE
AMDAPPSDKROOT
APPDATA
CM2014DIR
COMMANDER_DRIVE
COMMANDER_EXE
COMMANDER_INI
COMMANDER_PATH
CommonProgramFiles
CommonProgramFiles(x86)
CommonProgramW6432
COMPUTERNAME
ComSpec
FP_NO_HOST_CHECK
HOMEDRIVE
HOMEPATH
ILBDIR
LOCALAPPDATA
LOGONSERVER
MOZ_PLUGIN_PATH
NUMBER_OF_PROCESSORS
OS
Path
PATHEXT
PROCESSOR_ARCHITECTURE
PROCESSOR_ARCHITEW6432
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
ProgramData
ProgramFiles
ProgramFiles(x86)
ProgramW6432
PSModulePath
PUBLIC
SESSIONNAME
SystemDrive
SystemRoot
TEMP
TMP
USERDOMAIN
USERDOMAIN_ROAMINGPROFILE
USERNAME
USERPROFILE
VBOX_MSI_INSTALL_PATH
WecVersionForRosebud.E74
windir

Avko 07.10.2015 09:12
Predmet:Re: User Name & Local PC Name API

hvala na pomoci
uzecu od gjoreskog iz dva razloga
1. kratke
2. rade za razliku od zxzijeve

htio bi da se ove dvije od gjoreskog stave ovdje
Racunari i oprema » Programirannje i baze podataka » Vb/Vbnet » Koristan VB kod*
isto tako da se stavi u Listu naslova
evo da olaksam stvar:

u modul
PreuzmiIzvorni kôd (Visual Basic):
  1. Declare Function GetComputerNameA Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Long
  2. Declare Function GetUserNameA Lib "advapi32.dll" (ByVal lpBuffer As String, nSize As Long) As Long
  3.  
  4. Public Function GetComputerName() As String
  5. Dim sResult As String * 255
  6.     GetComputerNameA sResult, 255
  7.     GetComputerName = Left$(sResult, InStr(sResult, Chr$(0)) - 1)
  8. End Function
  9.  
  10. Public Function GetUserName() As String
  11. Dim UserName As String * 255
  12.     GetUserNameA UserName, 255
  13.     GetUserName = Left$(UserName, InStr(UserName, Chr$(0)) - 1)
  14. End Function

poziv:
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub Command1_Click()
  2.     MsgBox GetUserName & vbNewLine & GetComputerName
  3. End Sub

zxz 07.10.2015 09:44
Predmet:Re: User Name & Local PC Name API

Kliknes na dodaj odgovor.
Napises naslov kakav zelis te ubacis proceduru.
Eto to je to.

Gjoreski 06.10.2015 15:17
Predmet:Re: User Name & Local PC Name API

eve za User name
PreuzmiIzvorni kôd (Visual Basic):
  1. Declare Function GetUserNameA Lib "advapi32.dll" (ByVal lpBuffer As String, nSize As Long) As Long
  2.  
  3. Public Function GetUserName() As String
  4. Dim UserName As String * 255
  5.     GetUserNameA UserName, 255
  6.     GetUserName = Left$(UserName, InStr(UserName, Chr$(0)) - 1)
  7. End Function

Kaj mene
komputer name=GJORESKI
User name = ALEKSANDAR

Avko 06.10.2015 14:31
Predmet:User Name & Local PC Name API

nikako da na forumu nadem proceduru za ispis User name
nasao sam samo ovu proceduru informacije sistema

pozivamo sa Imekorisnika= InfoSis(broj) i kada unesem broj 6 (COMPUTERNAME=comp) isto mi pokaze kao i za broj 27 (USERNAME=username), a meni se razlikuje to dvoje.
Moze se jednostavno preko winsock1.localNeme i winsock1.LocalIP ali govore da bi trebalo to izbjegavati, neznam zasto?
Mene zanima ima li nekakva APi funkcija za to.

ovo sam nasao na internetu:
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
  2.  
  3. 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
  4.  
  5. Private Sub Form_Load()
  6.      Dim sDomainName As String * 255
  7.      Dim lDomainNameLength As Long
  8.      Dim sUserName As String
  9.      Dim bUserSid(255) As Byte
  10.      Dim lSIDType As Long
  11.  
  12.     ' Create a buffer
  13.    sUserName = String(100, Chr$(0))
  14.  
  15.     ' Get the username
  16.     GetUserName sUserName, 100
  17.  
  18.     'strip the rest of the buffer
  19.    sUserName = Left$(sUserName, InStr(sUserName, Chr$(0)) - 1)
  20.  
  21.      ' Show the temppath and the username
  22.     MsgBox "Hello " + strUserName
  23.  
  24.      lResult = LookupAccountName(vbNullString, sUserName, bUserSid(0), 255, sDomainName, lDomainNameLength, _
  25.   lSIDType)
  26.     If lResult <> 0 Then
  27.        MsgBox sDomainName
  28.     End If
  29. End Sub
ali mi javlja gresku ovdje:

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

Avko 07.10.2015 10:09
Predmet:Re: User Name & Local PC Name API

Citiraj zxz:
U ovoj temi mozete postavljati svoje procedure koje smatrate korisnim ali samo po odobrenju moderatora ovog foruma.
Procedura treba da sadrzi:
-Ime kreatora procedure
-Datum kreiranja
-Opis procedure

evo zato te moram pitati

zxz 07.10.2015 10:37
Predmet:Re: User Name & Local PC Name API

Pa po pravilu proceduru bi trebao postaviti @Gjoreski jer je on kreator.
Naravno treba i staviti neki opis.

zxz 07.10.2015 10:39
Predmet:Re: User Name & Local PC Name API

Sad vidimi da si ti to vec napravio i dosta dobro.

Avko 07.10.2015 11:16
Predmet:Re: User Name & Local PC Name API

Citiraj zxz:
Sad vidimi da si ti to vec napravio i dosta dobro.

o: svakoga dana u svakom pogledu sve vise napredujem, heheh

Van teme:
nego nije ovdje mjesto ali cu usput pitati. Kada sam dosao na forum trazio sam procedure pod vb/vbnet i malo ih je tamo. S vremenom kako sam istrazivao forum otkrio sam da ih dosta ima u access - arhiva neke su za vb, a neke su za access. Smijem li, nakon sto ispitam u vb6, neke procedure kopirati u vb/vbnet a korisne su. Mozda netko dode kao i ja pa ce traziti pod vb/vbnet. Neznam dali se to smije?
znaci:
-ispitam proceduru dali radi u vb6 okruzenju
-kopiram u vb/vbnet-koristan kod (kao ovu od gjoreskog)
-upisem podatke ime,napravio,datum

dakle, dali bi to smetalo da se dupliciraju procedure, mislim kod pretrazivanja. Mozda u naslov da dodam vb6 pa onda ime procedure ili nesto slicno tome.
Koji je tvoj savjet i misljenje?