![]() |
|
|
#1
|
|||
|
|||
|
Как можно програмно узнать название жесткого диска или флешкарты? Заранее спасибо
|
|
#2
|
||||
|
||||
|
На HDD работает, на флешках не проверял.
Код:
procedure TForm1.Button1Click(Sender: TObject);
Var
SerialNum, MaxFNameLength, FileSysFlags: DWORD;
VolName, FSName: Array [0..255] Of Char;
begin
GetVolumeInformation('C:\', VolName, SizeOf(VolName), @SerialNum,
MaxFNameLength, FileSysFlags, FSName, SizeOf(FSName));
Label1.Caption:= VolName;
end; |
|
#3
|
|||
|
|||
|
спасибо, работает(с флешками кстати тоже)
|
|
#4
|
|||
|
|||
|
А имя физического диска слабо получить? ))))))
|
|
#5
|
||||
|
||||
|
В смысле физического? Надпись маркером на CD или DVD?)))
|
|
#6
|
|||
|
|||
|
Грубо говоря, есть физический диск (на котором данные сохранены) и то, что мы видим из под операционной системы (логический диск).
Физического, в смысле не диск С, диск Д, а именно попытаться получить паспорт, или хотя бы модель жесткого диска. Как и ставил задачу автор темы. ))) например WD5000BEVT-22ZAT0-WXNZ08L14294. |
|
#7
|
|||
|
|||
|
Цитата:
|
|
#8
|
|||
|
|||
|
давай )))))))))) а мы посмотрим ))))
|
|
#9
|
||||
|
||||
|
можно мне тожа пофлэймить с вами?)
ну хотя бы так: Код:
uses
NumLock,
type
TForm1 = class(TForm)
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Text:=DiskDrive;
end; |
|
#10
|
||||
|
||||
|
Вот жук-то... Исходники не выложил
![]() |
|
#11
|
||||
|
||||
|
Aristarh Dark, что-то мне подсказывает, что это не самый оптимальный вариант и можно проще. подожду когда einstein свой вариант выложит.
намекну лишь, что получаю через "select * from Win32_DiskDrive", а WbemScripting нужно вбить в http://msdn.microsoft.com/ ![]() вот еще по теме: Просмотрщик Windows Management Instrumentation (WMI) Win32 классов |
|
#12
|
||||
|
||||
|
А чего намекать то? "Олю" в зубы и вперёд.
|
|
#13
|
||||
|
||||
|
Цитата:
|
|
#14
|
||||
|
||||
|
намек был на то, что Оля занята уже
пусть будет другая))) |