在windows中如果语言本身提供取得环境变量的方法,我们就不用直接使用win32接口了。那么在masm中可以做到么?答案是肯定的,也十分简单:
@EnvCount macro local i i = 0 % forc char,<@Environ(path)> ifidn, i = i + 1 endif endm exitm endm ShowEnvs macro local index,len index = 1 % repeat @EnvCount() len = @InStr(index,@Environ(path),!;) - index % echo @SubStr(@Environ(path),index,len) index = index + len + 1 endm % echo @SubStr(@Environ(path),index) endm