Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.46 MB
Время: 0.006 c
3-84937
Martyn
2002-08-05 11:55
2002.08.26
Помогите разобраться с Invalid floating point operation...


14-85215
XXL
2002-07-31 00:50
2002.08.26
BomberMan!!!!!!


14-85183
rvs
2002-07-30 08:44
2002.08.26
Kylix


3-84871
Explorer
2002-08-05 08:52
2002.08.26
Время выполнения Update


1-84963
vlv
2002-08-15 15:40
2002.08.26
Преобразование URL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский