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

Вниз

Номер CD-диска   Найти похожие ветки 

 
Tihomirov ©   (2003-08-23 14:48) [0]

Как мне получить номер CD-диска


 
Anatoly Podgoretsky ©   (2003-08-23 14:53) [1]

Какой номер?


 
Tihomirov ©   (2003-08-23 15:10) [2]

Индивидуальный номер компакт-диска

Суть - проверка с какого диска запущенна программа


 
Anatoly Podgoretsky ©   (2003-08-23 16:42) [3]

Опять же непонятно, какой такой индивидуальный номер.
А для подобной проверки вообще не нужен никой номер, если ты про дисковод, соответсвенно второй уточнющий вопрос, что за диск ты имеешь в виду в своем вопросе.


 
Yanis ©   (2003-08-24 08:43) [4]

To [3]
Он наверное имеет ввиду серийный номер компакта, а не букву (наверное).
To [2]
Серийный номер диска:

procedure TForm1.Button1Click(Sender: TObject);
var
VolumeName,
FileSystemName : array [0..MAX_PATH-1] of Char;
VolumeSerialNo : DWord;
MaxComponentLength,
FileSystemFlags : Integer;
begin
GetVolumeInformation("C:\",VolumeName,MAX_PATH,@VolumeSerialNo,
MaxComponentLength,FileSystemFlags,
FileSystemName,MAX_PATH);
Memo1.Lines.Add("VName = "+VolumeName);
Memo1.Lines.Add("SerialNo = $"+IntToHex(VolumeSerialNo,8));
Memo1.Lines.Add("CompLen = "+IntToStr(MaxComponentLength));
Memo1.Lines.Add("Flags = $"+IntToHex(FileSystemFlags,4));
Memo1.Lines.Add("FSName = "+FileSystemName);
end;


CD может иметь или не иметь серийный номер и/или универсальный код продукта
(Universal Product Code). MCI-расширение Windows предоставляет эту информации
с помощью комманды MCI_INFO_MEDIA_IDENTITY command. Эта команда возвращает
уникальную ID-строку.


uses MMSystem, MPlayer;

procedure TForm1.Button1Click(Sender: TObject);
var
mp : TMediaPlayer;
msp : TMCI_INFO_PARMS;
MediaString : array[0..255] of char;
ret : longint;
begin
mp := TMediaPlayer.Create(nil);
mp.Visible := false;
mp.Parent := Application.MainForm;
mp.Shareable := true;
mp.DeviceType := dtCDAudio;
mp.FileName := "D:";
mp.Open;
Application.ProcessMessages;
FillChar(MediaString, sizeof(MediaString), #0);
FillChar(msp, sizeof(msp), #0);
msp.lpstrReturn := @MediaString;
msp.dwRetSize := 255;
ret := mciSendCommand(Mp.DeviceId, MCI_INFO, MCI_INFO_MEDIA_IDENTITY,
longint(@msp));
if Ret <> 0 then
begin
MciGetErrorString(ret, @MediaString, sizeof(MediaString));
Memo1.Lines.Add(StrPas(MediaString));
end
else
Memo1.Lines.Add(StrPas(MediaString));
mp.Close;
Application.ProcessMessages;
mp.free;
end;
end.


 
Tihomirov ©   (2003-08-24 09:49) [5]

1). Yanis -спасбо. Ты меня правильно понял.
2). Как получить метку диска?
3). Как можно вывести картинку, с возможностью масштабирования?


 
Anatoly Podgoretsky ©   (2003-08-24 11:18) [6]

Так записываем его в штатные телепаты.

2. Метку тома? или что то другое? Если да, то GetVolumeInformation


 
Fenik ©   (2003-08-24 13:36) [7]

3. StretchBlt


 
Tihomirov ©   (2003-08-24 18:18) [8]

Fenik по подробней можно?


 
Fenik ©   (2003-08-24 19:48) [9]

http://delphimaster.net/view/8-1060529832/



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
1-8518
Raduga
2003-10-23 16:21
2003.11.03
какой компанент использовать?


1-8388
Chaynik
2003-10-21 07:34
2003.11.03
Вопрос о массиве.


3-8254
Fakir
2003-10-14 16:57
2003.11.03
Несооброжу с добавлением в БД


14-8606
Пубертанец
2003-10-15 11:26
2003.11.03
GetTempPath - выдает ошибку


14-8662
Ал
2003-10-14 08:48
2003.11.03
Чем можно сделать многоцветные *.ico как в XP