Форум: "Основная";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];
ВнизОпределение типа носителя. Найти похожие ветки
← →
^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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c