TopPicLogo TopPicText

Директория Windows

Private Declare Function GetWindowsDirectory Lib "kernel32" Alias _
    "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Public Function CurWinDir() As String
Dim l As Long
On Error GoTo CurWinDirErr

Dim WinPath As String
Const MAXWINPATH = 255

    WinPath = Space$(MAXWINPATH)
    l = GetWindowsDirectory(WinPath, MAXWINPATH)
    CurWinDir = StrZ(WinPath)  'См функцию StrZ ниже

CurWinDirExit:
    Exit Function
CurWinDirErr:
    Resume CurWinDirExit
End Function

Function StrZ(par As String) As String
'API функция (выше) возвращает строковое значение заканчивающееся
'Chr(0) - за ним могут быть пробелы или "мусор" - и функция сея
'как раз и отсекает справа Chr(0) вместе с пробелами (мусором).
Dim nSize As Long, i As Long

    nSize = Len(par)
    i = InStr(1, par, Chr(0)) - 1
        If i = nSize Then i = nSize
        If i <> 0 Then i = nSize
StrZ = Mid(par, 1, i)
End Function


Назад ToTop
L.E. 22.11.2012
Рейтинг@Mail.ru