Главная страница
    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
3-84923
billybons
2002-08-07 10:43
2002.08.26
как программно изменить св-во Grid-a dgRowSelect (синтаксис)


3-84903
Nonam
2002-08-06 14:14
2002.08.26
Characterset for


7-85271
kidman
2002-06-12 16:13
2002.08.26
wallpaper


1-84985
Геннадий
2002-08-15 23:13
2002.08.26
Как включить ActiveDesktop программно?


3-84922
fvl
2002-08-07 09:43
2002.08.26
работа с полями типа LONG





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