![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Опредиление Тип устройста хранение информаций
Arazel © (2006-01-11 01:24:00)Как можно определить тип устройства? FLASH/HDD/...
Вот тоже самый DiskEdit определяет все устройства
а что где куда не может... Как определить?
Arazel (2006-01-14 01:00:00) [1]wal © (13.01.06 10:43) [19]
Ладно вобщето это не так уж важно!
Но все равно интересно :)
wal (2006-01-13 10:43:00) [2]
> Flash не умеют создавать дополнительные(Расширеные) разделы!
Причем тут Flash? Я создавал несколько разделов на флэшке.
Игорь Шевченко (2006-01-13 10:29:00) [3]
> В общем у меня такая идея!
Плохая идея
Ega23 (2006-01-13 09:12:00) [4]
> Думаю после этого можно сказать что это Flash :)
А почему не USB-ZIP?
Arazel (2006-01-13 09:02:00) [5]В общем у меня такая идея!
Flash не умеют создавать дополнительные(Расширеные) разделы!
Хотя таблица разделов существует! Но там только основной!
И к томуже что бы не путатьця мы узнаем две вещи о ней
первое: Должен определятся как внешние устройство
Второе: Как USB
Думаю после этого можно сказать что это Flash :)
как вам?
Джо (2006-01-12 18:04:00) [6]Total Commander флэшку "зелененьким значком" помечает. У кого есть ТС и сменный MO проверьте, пожалуйста, одинаковые ли значки у него с флэшкой. Подозреваю, что да.
Ega23 (2006-01-12 17:58:00) [7]Как-нибудь через список VendorID вычислить? Из реестра?
Джо (2006-01-12 17:57:00) [8]> [11] Игорь Шевченко © (12.01.06 17:53)
Я-то понимаю. Это, так сказать, в порядке объективности, ибо автору требовалось флэш-накопитель отличать, насколько я понял. Вообще я в этом большой практической пользы не вижу, но что-ж...
Игорь Шевченко (2006-01-12 17:53:00) [9]Джо © (12.01.06 17:35) [8]
У меня, например, в XP в проводнике флешка от магнитооптики не
отличается. И то и то - съемный диск.
Игорь Шевченко (2006-01-12 17:53:00) [10]Джо © (12.01.06 17:35) [8]
У меня, например, в XP в проводнике флешка от магнитооптики не
отличается. И то и то - съемный диск.
Джо (2006-01-12 17:40:00) [11]> [9] Rouse_ © (12.01.06 17:37)
Для флоппика — да :)
Rouse_ (2006-01-12 17:37:00) [12]Угу, а для флопика \Device\Floppy0
Джо (2006-01-12 17:35:00) [13]> [7] Rouse_ © (12.01.06 17:02)
> QueryDosDevice? :)
У меня для USB Flash-накопителя выдает устройство '\Device\Harddisk3\DP(1)0-0+9'
Rouse_ (2006-01-12 17:02:00) [14]QueryDosDevice? :)
Что скажешь - красиво :)
Игорь Шевченко (2006-01-12 16:49:00) [15]Rouse_ © (12.01.06 15:39) [4]
Один из примеров отличия дискеты от других Removable Media в
http://kladovka.net.ru/download.cgi?id=193
Джо (2006-01-12 15:50:00) [16]> [4] Rouse_ © (12.01.06 15:39)
> DRIVE_REMOVABLE - флешка, дискета, ZIP
То-то и оно.
Ку?
Rouse_ (2006-01-12 15:39:00) [17]DRIVE_REMOVABLE - флешка, дискета, ZIP
DRIVE_FIXED - хард.
DRIVE_CDROM - компакт.
Ы?
Джо (2006-01-12 15:35:00) [18]Если бы еще вышеприведенный код определял
> FLASH/HDD/...
:)
Rouse_ (2006-01-12 12:27:00) [19]
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 10:34:00) [20]GetDriveType() ?