我正在寻找可能满足此要求的VB6(或某些WinAPI)中的函数:获取包含环境变量的输入路径字符串,并输出解析了环境变量的路径。
例如:
"%windir%\System32\"
"C:\Windows\System32\"
我当然可以编写自己的解析器,但我想知道这个功能是否已经存在?
答案 0 :(得分:6)
Kernel32.dll导出一个名为ExpandEnvironmentStrings
的函数:
我的VB6生锈了,你可以这样做:
Declare Function ExpandEnvironmentStrings _
Lib "kernel32" Alias "ExpandEnvironmentStringsA" _
(ByVal lpSrc As String, ByVal lpDst As String, _
ByVal nSize As Long) As Long
然后在函数或子函数中:
Dim result as Long
Dim strInput As String, strOutput As String
'' Two calls required, one to get expansion buffer length first then do expansion
result = ExpandEnvironmentStrings(strInput, strOutput, result)
strOutput = Space$(result)
result = ExpandEnvironmentStrings(strInput, strOutput, result)
答案 1 :(得分:4)
最糟糕的情况是,您可以使用原生实现:ExpandEnvironmentStrings
答案 2 :(得分:-1)
使用很少使用Environ()函数:http://vbcity.com/forums/t/45987.aspx