Главная страница
    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.45 MB
Время: 0.007 c
1-85055
pnp
2002-08-13 20:19
2002.08.26
Опрос за короткие промежутки времени


1-85116
Александр456
2002-08-15 10:21
2002.08.26
Рисунки в ImageList


1-85030
VZ-KZ
2002-08-12 15:09
2002.08.26
QuickReport


14-85185
monomah
2002-07-30 16:05
2002.08.26
Показ RTF с картинками


1-85049
CashDi
2002-08-14 11:46
2002.08.26
Форматированные строки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский