Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
Внизузнать букву USB-диска Найти похожие ветки
← →
batya-x (2008-07-15 22:35) [0]как узнать букву съёмного диска, после того как её вставили в usb порт
← →
Правильный$Вася (2008-07-15 22:37) [1]а если их несколько?
а иногда буква автоматом не назначается (вернее, попадает на занятую другим подключением, напрмер, замапленный сетевой диск)
ps а буквы вставляют?
← →
Игорь Шевченко © (2008-07-15 22:50) [2]если на съемном диске несколько разделов то и буков может быть несколько.
← →
KilkennyCat © (2008-07-15 23:48) [3]в реестре, наверное, глобал, символьные имена... тогда можно отследить и вышеназванные особенности.
← →
batya-x (2008-07-16 00:15) [4]что за глобал в реестре, по подробнее можно
← →
имя (2008-07-16 00:45) [5]Удалено модератором
← →
KilkennyCat © (2008-07-16 00:55) [6]по-подробнее не помню. помню, что это NT-имена устройств, вроде.
посмотрите это... там куча всего...
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
или информацию по QuereDosDevice();
← →
Denis__ © (2008-07-16 14:35) [7]Гугли. Я в своё время нагуглил.
← →
stas © (2008-07-16 15:11) [8]Тут пример как получить список дисков.
Флешка это TDriveType = dtFloppy, но буква не "A" и не "B"
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type TDriveType = (dtUnknown, dtNoDrive, dtFloppy, dtFixed, dtNetwork, dtCDROM,
dtRAM);
Procedure GetDriveLst (List:TStrings);
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
GetDriveLst (ListBox1.Items);
end;
Procedure GetDriveLst (List:TStrings);
var
DriveNum: Integer;
DriveChar: Char;
DriveType: TDriveType;
DriveBits: set of 0..25;
procedure AddDrive(const Name:string);
begin
List.Add(Name);
end;
begin
{ fill list }
//Clear;
Integer(DriveBits) := GetLogicalDrives;
for DriveNum := 0 to 25 do
begin
if not (DriveNum in DriveBits) then Continue;
DriveChar := Char(DriveNum + Ord("a"));
DriveType := TDriveType(GetDriveType(PChar(DriveChar + ":\")));
// Memo1.Lines.Add(DriveChar)
{ if TextCase = tcUpperCase then }
DriveChar := Upcase(DriveChar);
case DriveType of
dtFloppy: AddDrive (DriveChar+":\0");
dtFixed: AddDrive(DriveChar+":\1");
dtNetwork: AddDrive(DriveChar+":\2");
dtCDROM: AddDrive(DriveChar+":\3");
dtRAM: AddDrive(DriveChar+":\4");
end;
end;
end;
end.
← →
Правильный$Вася (2008-07-16 15:47) [9]
> Флешка это TDriveType = dtFloppy
гибкая флэшка - это здорово
а почему флэшка неможет быть A, если у меня флопа совсем нет? хочу - назначу
← →
Игорь Шевченко © (2008-07-16 16:03) [10]
> Флешка это TDriveType = dtFloppy, но буква не "A" и не
> "B"
Я тебя разочарую - даже флоппи может быть не "A" и не "B"
← →
stas © (2008-07-17 13:10) [11]Правильный$Вася (16.07.08 15:47) [9]
Значит у тебя работать данный код небудет.
← →
Правильный$Вася (2008-07-17 14:38) [12]
> Значит у тебя работать данный код небудет.
в топку такие коды
← →
stas © (2008-07-17 15:16) [13]Правильный$Вася (17.07.08 14:38) [12]
так опубликуйте альтернативный.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.101 c