用API:
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

解决方案 »

  1.   

    Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
    Private Sub Form_Load()
        'KPD-Team 1998
        'URL: http://www.allapi.net/
        'E-Mail: [email protected]   
        Dim sSave As String, Ret As Long
        'Create a buffer
        sSave = Space(255)
        'Get the system directory
        Ret = GetSystemDirectory(sSave, 255)
        'Remove all unnecessary chr$(0)'s
        sSave = Left$(sSave, Ret)
        'Show the windows directory
        MsgBox "Windows System directory: " + sSave
    End Sub
      

  2.   

    嘿嘿,有简单办法:
    MsgBox "系统安装在" & Environ("SystemDrive")
      

  3.   

    MsgBox Left$(sSave, 3)
    借用dbcontrols(泰山__抛砖引玉)得出的sSave
    :)
      

  4.   

    进入命令行状态,输入命令:Set
    看看,很多环境参数都可以通过Environ函数直接取:
    机器名、Windows安装目录、Program Fiels目录、软件版本、搜索路径、登陆用户名、登陆的域、临时文件夹位置....
    是不是很方便?
      

  5.   

    Public Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
    Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
    dim Windir,temp As String  '定义一个字符串变量用于保存windows系统目录
    dim windirleng as integer
    windir=space(50)
    WindirLeng = GetSystemDirectory(Windir, 51) '以下是windows系统目录
    Temp = Left(Windir, WindirLeng)
    '以下是windows目录
    windir=space(50)
    WindirLeng = GetWindowsDirectory(Windir, 51)
    Temp = Left(Windir, WindirLeng)
    '以下利用上面任意一种方法得到的目录temp
    temp=left(temp,3) 
    '就得到了您想要的盘符