if DiskSize(5) = -1 then改为DiskSize(0)是当前盘符,这里怎么知道那个是当前盘符?
如何把这个DiskSize(5)改为判断一个移动盘的盘符,要怎么获得移动盘的盘符并带入这里?

解决方案 »

  1.   

    移动硬盘插入的时候会产生一个WM_deviceChange消息,HOOK这个消息可以获得盘符
      

  2.   


    Function Change_U():string;
    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]);
    if getdrivetype(pchar(str_temp)) = DRIVE_REMOVABLE then
    begin
    result:= str_temp;
    end;
    end;
    end;
    我知道这样可以获得盘符,如何带入前面那个判断呢? 才学的菜鸟,希望能具体帮忙下,感谢