求救:怎样获取光驱的盘符号

解决方案 »

  1.   

    procedure TForm1.getcdrom(var cd:char);//过程
    var
    str:string;
    drivers:integer;
    driver:char;
    i,temp:integer;
    begin
    drivers:=getlogicaldrives;
    temp:=(1 and drivers);
    for i:=0 to 26 do
    begin
    if temp=1 then
    begin
    driver:=char(i+integer('a'));
    str:=driver+':';
    if getdrivetype(pchar(str))=drive_cdrom then
    begin
    cd:=driver;
    exit;
    end;
    end;
    drivers:=(drivers shr 1);
    temp:=(1 and drivers);
    end;
    end;
      

  2.   

    简单的调用过程就得到光区的盘副:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Str: Char;
    begin
      getcdrom(Str);
      Edit1.Text := Str;
    end;
      

  3.   

    var
      ch: char;
    begin
      for ch = 'A' to 'Z' do
        if GetDriveType(PChar(ch+':\'))=DRIVE_CDROM then
        begin
        end;
    end;