我不知道你上面的FSO是什么?
WINDOWS的API:
GetDriveType需要的是一个PChar参数如你需要知道C:的类型,可以这样写:s:='c:\';
GetDriveType(PChar(s));

解决方案 »

  1.   

    pchar指向char的指针
    charzifu变量
    string pascal独有的字符串, 
    widestring 多字节字符(象unicode)
    shortstring长度限制在255的string
      

  2.   

    //==============================================================================
    //获得驱动器类型信息************************************************************
    //==============================================================================
    function GetDriveSpecies(Drive: string): string;
    begin
      case GetDriveType(PChar(Drive)) of//获得Drive所对应的磁盘驱动器信息
        0:               Result := '不确定的驱动器类型';
        1:               Result := '驱动器‘'+Drive+'’不存在';
        DRIVE_REMOVABLE: Result := '软盘驱动器';
        DRIVE_FIXED :    Result := '硬盘驱动器';
        DRIVE_REMOTE:    Result := '网络驱动器';
        DRIVE_CDROM:     Result := '光盘驱动器';
        DRIVE_RAMDISK:   Result := '内存虚拟盘';
      end;
    end;
      

  3.   

    不知道你的fso是什么for i:=1 to fso.Drives.Count do 
    begin 
      if getdrivetype(PChar(fso.Drives.Item[i-1].盘符))= DRIVE_FIXED then 
      treeview1.Items.Add (nil,fso.Drives.Item[i-1].VolumeName); 
    end;