ExpandEnvironmentStrings 函数

ExpandEnvironmentStrings 函数

扩展环境变量字符串,并使用当前用户定义的值来替换这些环境变量字符串。如果要为特定的用户或系统指定环境块,请使用ExpandEnvironmentStrings函数

语法 CopyDWORD WINAPI ExpandEnvironmentStrings(
__in       LPCTSTR lpSrc,
__out_opt  LPTSTR lpDst,
__in       DWORD nSize
);
参数
lpSrc [in]

          一个用于装载一个或多个环境变量字符串的缓冲器。该字符串的格式为:%variableName%。对于每个引用,%variableName%部分则会被环境变量的当前值所替代。

          当查找环境变量名字的时候,是不分大小写的。如果未查找到,%variableName%保持未扩展状态。

          注意:该函数不支持所有cmd.exe支持的情况。例如,它不支持%variableName:str1=str2% 或 %variableName:~offset,length%

lpDst [out, optional]

          一个指向用于接收扩展环境变量字符串的结果的缓冲器的指针。
nSize [in]

           lpDst参数中所能装载的最大字符数。当使用ANSI字符串时,缓冲器大小应等于字符串大小,再加上结尾的NULL,再加1。当使用UNICODE字符串时,缓冲器大小应等于字符串大小,再加上结尾的NULL
返回值

如果成功,返回值是存储于目标缓冲器中的TCHARS的数量,包括结尾的NULL。如果目标缓冲器太小以至于不能装载这些字符串,返回值是所需的缓冲器的大小(单位是字符)。如果函数失败,返回零值。

备注

lpSrc和lpDst缓冲器被限制在32K。

要求

Minimum supported client

Windows 2000 Professional

Minimum supported server

Windows 2000 Server

Header

Winbase.h (include Windows.h)

Library

Kernel32.lib

DLL

Kernel32.dll

Unicode and ANSI names

ExpandEnvironmentStringsW (Unicode) and  ExpandEnvironmentStringsA (ANSI)
[声明]
  Declare Function ExpandEnvironmentStrings Lib "kernel32" Alias "ExpandEnvironmentStringsA" (ByVal lpSrc As String, ByVal lpDst As String, ByVal nSize As Long) As Long
  [说明]
  扩充环境字串。具体操作过程与命令行处理的所为差不多。也就是说,将由 百分号 封闭起来的环境变量名转换成那个变量的内容。比如,“%path%”会扩充成完整路径。在vb里经常用于为新进程创建一个环境块
  [参数表]
  lpSrc ---------- String,欲扩充的字串
  lpDst ---------- String,扩充过后的字串
  nSize ---------- Long,lpDst的长度。注意预先对lpDst进行初始化,使其与这个长度相符
  示例
  Dim s$, dl&
  Dim y As String * 5?
  s$ = "%PATH%"
  dl& = ExpandEnvironmentStrings(s$, y, 499)
  Print y
  [返回值]
  Long,lpDst要求的缓冲区的大小。如nSize小于这个数字(也就是说,缓冲区太小,以至不能全容下扩充过后的字串),那么lpDst不会被载入。可利用这个结果改变字串的大小。零表示遇到错误。会设置GetLastError

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值