插入U盘怎样获取U盘盘符?

解决方案 »

  1.   

    to ssq237712(流亡帅哥),能给个例子吗?
      

  2.   

    for i:='D' to 'Z' do
       if getdrivetype(Pchar(i+":"))=DRIVE_REMOVABLE  then
              showmessage(I+'盘为U盘');'=========================================
      DRIVE_UNKNOWN = 0;
      {$EXTERNALSYM DRIVE_UNKNOWN}
      DRIVE_NO_ROOT_DIR = 1;
      {$EXTERNALSYM DRIVE_NO_ROOT_DIR}
      DRIVE_REMOVABLE = 2;
      {$EXTERNALSYM DRIVE_REMOVABLE}
      DRIVE_FIXED = 3;
      {$EXTERNALSYM DRIVE_FIXED}
      DRIVE_REMOTE = 4;
      {$EXTERNALSYM DRIVE_REMOTE}
      DRIVE_CDROM = 5;
      {$EXTERNALSYM DRIVE_CDROM}
      DRIVE_RAMDISK = 6;
      

  3.   

    列出全部磁盘盘符:procedure TForm1.FormCreate(Sender: TObject);
    var
        buf:array [0..MAX_PATH-1] of char;
        m_Result:Integer;
        i:Integer;
        str_temp:string;
    begin
    m_Result:=GetLogicalDriveStrings(MAX_PATH,buf);
    for i:=0 to (m_Result div 4) do
    begin
            str_temp:=string(buf[i*4]+buf[i*4+1]+buf[i*4+2]);
            ListBox1.Items.Add(str_temp);
    end;
    end;
      

  4.   

    Shell注册事件通知,然后DeviceIoControl判断,就能知道是不是U盘的_____________________
    http://lysoft.7u7.net