Форум: "Система";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизКак определить наличие диска? Найти похожие ветки
← →
Woolen © (2004-01-06 16:57) [0]Всем привет!
Подскажите, как определить наличие диска, да так, чтобы винда дурацких вопросов не задавала? На пример в FAQ можно не указывать, я и так это знаю. Дело не в этом, а в том, что у меня даже без Exception"ов ввода-вывода и при отключенном (как и положено) диалоге об ошибке обращения к файлу, все равно, появляется форточка типа "Abort, Retry, Ingnore", но на языке оси - на русском. Ось Windows XP SP1 MUI. Прошу помощи у всех, кто когда-либо сталкивался с стакой проблемой.
← →
DVM © (2004-01-06 17:08) [1]может так:
{$i-}
...код...
{$i+}
← →
Woolen © (2004-01-06 17:24) [2]так и есть.
"даже без Exception"ов ввода-вывода", - написал я выше. Если бы так все было просто, я бы вопросов здесь не задавал...
← →
VMcL © (2004-01-06 17:50) [3]>>2 Woolen © (06.01.04 16:57)
Ошибка в 17 строке :))
На какой именно фукнции выдает окно?
← →
Woolen © (2004-01-06 18:09) [4]
> На какой именно фукнции выдает окно?
ChDir
← →
YuRock © (2004-01-06 18:23) [5]Используй лучше апишную SetCurrentDirectory - работать будет всегда а падать не будет никогда
← →
DDA © (2004-01-06 18:38) [6]ПРоверка диска на присутствие+
procedure TForm1.Button1Click(Sender: TObject);
function IsDiskInDrive(Drive: string): Boolean;
var
ErrMode: Cardinal;
VolName: array[0..255] of Char;
FS: array[0..255] of Char;
MaxComSize: Cardinal;
Flags: Cardinal;
begin
ErrMode := SetErrorMode(SEM_FAILCRITICALERRORS);
try
Result := GetVolumeInformation(PChar(Drive), VolName, SizeOf(VolName), nil,
MaxComSize, Flags, FS, SizeOf(FS));
finally
SetErrorMode(ErrMode);
end;
end;
begin
if not IsDiskInDrive(Edit1.Text) then ShowMessage("А диска-то нет :(")
else ShowMessage("есть");
end;
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c