GetUserName
Tahle API funkce zjistí jméno aktuálně přihlášeného uživatele. V případě úspěchu vrací funkce hodnotu 1.
Parametry: lpBuffer proměnná typu String pevné délky nSize počet vrácených znaků
Deklarace: Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long
Použití: Dim test As Long, Jmeno As String * 255 test = GetUserName(Jmeno, 255) Debug.Print IIf(test, Jmeno, "Nastala chyba")
GetProfileInt
Funkce čte číselnou hodnotu zadaného klíče ze souboru WIN.INI, ten je v systémové složce windows. Není proto potřeba ho definovat neboť funkce si jej nalezne sama. S návratovou hodnotou je to tady trošku jinak, pro představu vypíšu tabulku moných situací. Osobně dávám přednost funkci GetProfileString jenž nedělá rozdíl mezi číslem a znakem. Pozor velká a malá písmena nejsou rozlišována. Takže pokud soubor obsahuje několik stejných sekcí nebo klíčů, vezme první od počátku souboru!
Vrací Důvod nDefault Klíč nebo sekce neexistuje 0 Klíč existuje, ale neobsahuje číselnou hodnotu hodnotu klíče Klíč existuje a je vrácena jeho hodnota
Parametry: lpAppName Jméno sekce lpKeyName Jméno klíče nDefault Libovolná "default" hodnota v rozsahu typu Long, pokud možno taková jenž je nepravděpodobná, že by mohla být platnou návratovou hodnotou. Vyhnete se tak možným problémům s testováním existence klíců.
Deklarace:
Declare Function GetProfileInt Lib "kernel32" Alias "GetProfileIntA" _ (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal nDefault As Long) As Long
Použití: Dim test As Long, Hodnota As Long Hodnota = 3333 test = GetProfileInt("intl", "iCountry", Hodnota) Select Case test Case Hodnota Debug.Print "Klic neexistuje" Case 0 Debug.Print "Klic existuje, ale neobsahuje cislo." Case Else Debug.Print "Klic obsahuje hodnotu : " & test End Select
GetProfileString
Tato funkce čte "String" hodnotu zadaného klíče ze souboru WIN.INI, ten je v systémové složce windows. Není proto potřeba ho definovat neboť funkce si jej nalezne sama. Funkce vrací délku řetězce "lpReturnedString". Pozor velká a malá písmena nejsou rozlišována. Takže pokud soubor obsahuje několik stejných sekcí nebo klíčů, vezme první od počátku souboru!
Parametry: lpAppName Jméno sekce lpKeyName Jméno klíče lpnDefault Libovolná textová hodnota jenž bude použita v případe výskytu chyby lpReturnedString Vrací hodnotu klíče. Pokud nastane chyba vrací obsah "lpnDefault" nSize Počet vrácených znaků
Deklarace:
Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" _ (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, _ ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Použití: Dim test As Long, Chyba As String, Data As String * 255 Chyba = "Klic_Nenalezen" test = GetProfileString("intl", "sCountry", Chyba, Data, 255) Debug.Print IIf(test , Data, "Nastala chyba")
GetProfileSection
Funkce čte všechny klíče zadané sekce ze souboru WIN.INI, ten je v systémové složce windows. Není proto potřeba ho definovat neboť funkce si jej nalezne sama. pokud sekce neexistuje, nebo nastane chyba vrací funkce 0, jinak vrací délku řetězce "lpReturnedString", Pozor velká a malá písmena nejsou rozlišována. Takže pokud soubor obsahuje několik stejných sekcí nebo klíčů, vezme první od počátku souboru!
Parametry: lpAppName Jméno sekce lpReturnedString Vrací obsah dané sekce tzn. všechny klíče včetně jejich hodnot přičemž jednotlivé polozky jsou odděleny mezerou nSize Počet vrácených znaků
Deklarace: Declare Function GetProfileSection Lib "kernel32" Alias "GetProfileSectionA" _ (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Použití: Dim test As Long, Data As String * 255 test = GetProfileSection("intl", Data, 255) Debug.Print IIf(test, Data, "Nastala chyba")
GetPrivateProfileInt, GetPrivateProfileString, GetPrivateProfileSection
Tyto funkce jsou totožné s výše uvedenými s tím rozdílem že břibyl parametr "lpFileName" jenž určuje ze kterého souboru *.INI se bude číst. Nejste tedy omezeni jen na WIN.INI, ale můžete si sami určit vlastní *.INI soubor.
|