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

Вниз

Определение типа носителя.   Найти похожие ветки 

 
^Sanya ©   (2002-08-13 13:24) [0]

Уважаемые Мастера!
Помогите, пожалуйста, определить тип носителя(съёмный он или нет: hdd, fdd или cd), зная путь к exe-файлу.
Заранее благодарен.


 
Lex_! ©   (2002-08-13 13:26) [1]

unit DriveInfo;

interface

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

type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;

const

MCI_INFO_PRODUCT = $00000100;
MCI_INFO_FILE = $00000200;
MCI_INFO_MEDIA_UPC = $00000400;
MCI_INFO_MEDIA_IDENTITY = $00000800;
MCI_INFO_NAME = $00001000;
MCI_INFO_COPYRIGHT = $00002000;

type

PMCI_Info_ParmsA = ^TMCI_Info_ParmsA;
PMCI_Info_ParmsW = ^TMCI_Info_ParmsW;
PMCI_Info_Parms = PMCI_Info_ParmsA;
TMCI_Info_ParmsA = record
dwCallback: DWORD;
lpstrReturn: PAnsiChar;
dwRetSize: DWORD;
end;
TMCI_Info_ParmsW = record
dwCallback: DWORD;
lpstrReturn: PWideChar;
dwRetSize: DWORD;
end;

TMCI_Info_Parms = TMCI_Info_ParmsA;
var
Form1: TForm1;
VolLabel, SN, FileSystem, S : string;
procedure GetDriveInfo(VolumeName: string; var VolumeLabel, SerialNumber, FileSystem: string);
implementation

procedure GetDriveInfo(VolumeName: string; var VolumeLabel, SerialNumber, FileSystem: string);
var

VolLabel, FileSysName :array [0..255] of char;
SerNum :pdword;
MaxCompLen, FileSysFlags :dword;
begin

New(SerNum);
GetVolumeInformation(PChar(VolumeName), VolLabel, 255, SerNum, MaxCompLen, FileSysFlags, FileSysName, 255);
VolumeLabel:=VolLabel;
SerialNumber:=Format("%x",[SerNum^]);
FileSystem:=FileSysName;
Dispose(SerNum);
end;
end.


 
^Sanya ©   (2002-08-13 17:16) [2]

Данная процедура возвращает метку тома, сер. номер и тип файловой системы. А как узнать, сменный носитель - или нет? Можно ли осуществить на него запись - или нет?


 
Игорь Шевченко ©   (2002-08-13 18:33) [3]

GetDriveType


 
^Sanya ©   (2002-08-13 19:29) [4]

Огромное спасибо Игорю Шевченко!!!


 
ga3 ©   (2002-08-14 03:38) [5]

GetDriveType - 16bit функция вроде...
есть еще 32разрядная GetDriveTypeA

поправьте меня если я не прав


 
Внук ©   (2002-08-14 08:45) [6]

Не прав :)
GetDriveType - макрос, как и большинство других, которые в зависимости от требуемой кодировки символов вызывают либо ANSI- (GetDriveTypeA), либо Unicode-версию (GetDriveTypeW) функции... К разрядности никакого отношения не имеет. Под WinXP как раз эффективнее пользоваться GetDriveTypeW, если умеючи :)



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
3-84939
Nina
2002-08-07 13:28
2002.08.26
Помогите найти литературу по ораклу!


1-84982
-=Spike=-
2002-08-15 17:29
2002.08.26
Работа со значками.


8-85138
DDDeN
2002-04-21 15:13
2002.08.26
Преобразование в RGB


8-85130
Rammst
2002-04-21 07:22
2002.08.26
Где хранятся?


1-84984
Геннадий
2002-08-15 16:57
2002.08.26
Как программно обновить рабочий стол?