请看下面的代码:
 
 dim sysdc as string  sysdc = String(255, " ")
 Call GetWindowsDirectory(sysdc, 255)
 sysdc = Trim(sysdc) sysdc=sysdc & "\systemp32\" msgbox sysdc
最后显示的却只是:C:\windows
为什么呢?我的系统是XP.请帮忙,在线等......

解决方案 »

  1.   

    因为用Call GetWindowsDirectory(sysdc, 255)
    返回的sysdc="C:\windows" & vbnullstring
    所以sysdc=sysdc & "\systemp32\"得不到"c:\windows\system32"
    Left$(sysdc, Len(Trim$(sysdc)) - 1) & "\systemp32\"还有如果你想要系统路径用GetSystemDirectory不就可以了吗
      

  2.   

    同意楼上,要先用left截断字串
      

  3.   

    因为返回的 sysdc 是 "C:\windows" & Chr(0) & chr(0) ....  所以 Trim(sysdc) 后 不会去掉空格, 可以这样 left(sysdc,instr(sysdc,chr(0))-1) 。
    dim sysdc as string  sysdc = String(255, " ")
     Call GetWindowsDirectory(sysdc, 255)
     sysdc = left(sysdc,instr(sysdc,chr(0))-1)
     sysdc=sysdc & "\systemp32\" msgbox sysdc