Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.29;
Скачать: CL | DM;

Вниз

Опредиление Тип устройста хранение информаций   Найти похожие ветки 

 
Arazel ©   (2006-01-11 01:24) [0]

Как можно определить тип устройства?  FLASH/HDD/...

Вот тоже  самый DiskEdit определяет все устройства
а что где куда не может... Как определить?


 
ПЛОВ ©   (2006-01-12 10:34) [1]

GetDriveType() ?


 
Rouse_ ©   (2006-01-12 12:27) [2]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Memo1: TMemo;
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
 NameSize = 4;
 VolumeCount = 26;
 TotalSize = NameSize * VolumeCount;
 Report = "Volume: %s %s";
var
 Buff, Volume: String;
 I, Count: Integer;
begin
 SetLength(Buff, TotalSize);
 Count := GetLogicalDriveStrings(TotalSize, @Buff[1]) div NameSize;
 if Count = 0 then
   Memo1.Lines.Add(SysErrorMessage(GetLastError))
 else
   for I := 0 to Count - 1 do
   begin
     Volume := PChar(@Buff[(I * NameSize) + 1]);
     case GetDriveType(PChar(Volume)) of
       DRIVE_UNKNOWN: Memo1.Lines.Add(Format(Report, [Volume,
         "The drive type cannot be determined."]));
       DRIVE_NO_ROOT_DIR: Memo1.Lines.Add(Format(Report, [Volume,
         "The root path is invalid. For example, no volume is mounted at the path."]));
       DRIVE_REMOVABLE: Memo1.Lines.Add(Format(Report, [Volume,
         "The disk can be removed from the drive."]));
       DRIVE_FIXED: Memo1.Lines.Add(Format(Report, [Volume,
         "The disk cannot be removed from the drive."]));
       DRIVE_REMOTE: Memo1.Lines.Add(Format(Report, [Volume,
         "The drive is a remote (network) drive."]));
       DRIVE_CDROM: Memo1.Lines.Add(Format(Report, [Volume,
         "The drive is a CD-ROM drive."]));
       DRIVE_RAMDISK: Memo1.Lines.Add(Format(Report, [Volume,
         "The drive is a RAM disk."]));
     else
       Memo1.Lines.Add(Format(Report, [Volume, "Xpen znaet chto :)"]));
     end;
   end;
end;

end.


 
Джо ©   (2006-01-12 15:35) [3]

Если бы еще вышеприведенный код определял
> FLASH/HDD/...

:)


 
Rouse_ ©   (2006-01-12 15:39) [4]

DRIVE_REMOVABLE - флешка, дискета, ZIP
DRIVE_FIXED - хард.
DRIVE_CDROM - компакт.

Ы?


 
Джо ©   (2006-01-12 15:50) [5]

> [4] Rouse_ ©   (12.01.06 15:39)
> DRIVE_REMOVABLE - флешка, дискета, ZIP

То-то и оно.
Ку?


 
Игорь Шевченко ©   (2006-01-12 16:49) [6]

Rouse_ ©   (12.01.06 15:39) [4]

Один из примеров отличия дискеты от других Removable Media в
http://kladovka.net.ru/download.cgi?id=193


 
Rouse_ ©   (2006-01-12 17:02) [7]

QueryDosDevice? :)
Что скажешь - красиво :)


 
Джо ©   (2006-01-12 17:35) [8]

> [7] Rouse_ ©   (12.01.06 17:02)
> QueryDosDevice? :)

У меня для USB Flash-накопителя выдает устройство "\Device\Harddisk3\DP(1)0-0+9"


 
Rouse_ ©   (2006-01-12 17:37) [9]

Угу, а для флопика \Device\Floppy0


 
Джо ©   (2006-01-12 17:40) [10]

> [9] Rouse_ ©   (12.01.06 17:37)

Для флоппика — да :)


 
Игорь Шевченко ©   (2006-01-12 17:53) [11]

Джо ©   (12.01.06 17:35) [8]

У меня, например, в XP в проводнике флешка от магнитооптики не
отличается. И то и то - съемный диск.


 
Игорь Шевченко ©   (2006-01-12 17:53) [12]

Джо ©   (12.01.06 17:35) [8]

У меня, например, в XP в проводнике флешка от магнитооптики не
отличается. И то и то - съемный диск.


 
Джо ©   (2006-01-12 17:57) [13]

> [11] Игорь Шевченко ©   (12.01.06 17:53)

Я-то понимаю. Это, так сказать, в порядке объективности, ибо автору требовалось флэш-накопитель отличать, насколько я понял. Вообще я в этом большой практической пользы не вижу, но что-ж...


 
Ega23 ©   (2006-01-12 17:58) [14]

Как-нибудь через список VendorID вычислить? Из реестра?


 
Джо ©   (2006-01-12 18:04) [15]

Total Commander флэшку "зелененьким значком" помечает. У кого есть ТС и сменный MO проверьте, пожалуйста, одинаковые ли значки у него с флэшкой. Подозреваю, что да.


 
Arazel ©   (2006-01-13 09:02) [16]

В общем у меня такая идея!

Flash не умеют создавать дополнительные(Расширеные) разделы!
Хотя таблица разделов существует! Но там только основной!
И к томуже что бы не путатьця мы узнаем две вещи о ней
первое: Должен определятся как внешние устройство
Второе: Как USB

Думаю после этого можно сказать что это Flash :)
как вам?


 
Ega23 ©   (2006-01-13 09:12) [17]


> Думаю после этого можно сказать что это Flash :)


А почему не USB-ZIP?


 
Игорь Шевченко ©   (2006-01-13 10:29) [18]


> В общем у меня такая идея!


Плохая идея


 
wal ©   (2006-01-13 10:43) [19]


> Flash не умеют создавать дополнительные(Расширеные) разделы!
Причем тут Flash? Я создавал несколько разделов на флэшке.


 
Arazel ©   (2006-01-14 01:00) [20]

wal ©   (13.01.06 10:43) [19]
Ладно  вобщето это не так уж важно!
Но все равно интересно  :)



Страницы: 1 вся ветка

Текущий архив: 2006.01.29;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.058 c
4-1132069000
Comp
2005-11-15 18:36
2006.01.29
имя пользователя и пароль к инету


15-1136818416
Интересно мне
2006-01-09 17:53
2006.01.29
Вопрос к модератору(ам)


15-1136028580
Loginov Dmitry
2005-12-31 14:29
2006.01.29
Сообщение компилятора!


15-1136154479
QwertyKz
2006-01-02 01:27
2006.01.29
Интересная книжка


2-1136969198
pupapumD
2006-01-11 11:46
2006.01.29
Командная строка.....