Описание функции


_WinAPI_ExpandEnvStr

Раскрывает переменные в строке, например: %temp%, %WinDir% и т.д.

_WinAPI_ExpandEnvStr(EnvPath$)

Параметры

EnvPath$ Строка с переменной

Возвращаемое значение

Возвращает путь с раскрытой переменной.

Пример

Procedure.s _WinAPI_ExpandEnvStr(EnvPath$)
    Protected *mem, length
    length = ExpandEnvironmentStrings_(@EnvPath$, 0, 0)
    If length > 0
        length * 2 + 2
        *mem = AllocateMemory(length)
        If *mem
            If ExpandEnvironmentStrings_(@EnvPath$, *mem, length)
                EnvPath$ = PeekS(*mem, length)
            EndIf
            FreeMemory(*mem)
            ProcedureReturn EnvPath$
        EndIf
    EndIf
    ProcedureReturn ""
EndProcedure

Debug _WinAPI_ExpandEnvStr("%WinDir%\System32\shell32.dll")
Debug _WinAPI_ExpandEnvStr("%SystemRoot%\System32\shell32.dll")
Debug _WinAPI_ExpandEnvStr("%temp%")