Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.03.30;
Скачать: CL | DM;

Вниз

FileExists - дает диалог в XP   Найти похожие ветки 

 
z2000   (2010-03-19 10:15) [0]

Заметил такую особенность функция FileExists выводит диалоговое окно в win XP когда происходит следующее:
работали с CD ромом, вынули диск и вот если функция после этого проверяет наличие файла на отсутствующем в приводе
диске CD она дает диалоговое окно об отсутствие файла.

Понятно что оно реализовано в недрах WIN API, но все же
как от него избавиться, может кто с таким сталкивался,
эта штука в определеных моментах совсем ненужная и даже вредная...


 
evvcom ©   (2010-03-19 10:33) [1]

Напиши мелким и мягким


 
{RASkov} ©   (2010-03-19 10:34) [2]

> [0] z2000   (19.03.10 10:15)

Приведи пример кода, который выполняет описанное в [0]


 
Anatoly Podgoretsky ©   (2010-03-19 10:51) [3]

SetErrorMode


 
z2000   (2010-03-19 12:36) [4]

Anatoly Podgoretsky   Спасибо!


 
DVM ©   (2010-03-19 13:16) [5]


function FileExists2(const FileName: string): Boolean;

 function ExistsLockedOrShared(const Filename: string): Boolean;
 var
   FindData: TWin32FindData;
   LHandle: THandle;
 begin
   LHandle := FindFirstFile(PChar(Filename), FindData);
   if LHandle <> INVALID_HANDLE_VALUE then
   begin
     Windows.FindClose(LHandle);
     Result := FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY = 0;
   end
   else
     Result := False;
 end;

var
 Code: Integer;
 LastError: Cardinal;
 OldMode: Cardinal;
begin
 OldMode := SetErrorMode(SEM_FAILCRITICALERRORS);
 Code := Integer(GetFileAttributes(PChar(FileName)));
 if Code <> -1 then
   Result := (FILE_ATTRIBUTE_DIRECTORY and Code = 0)
 else
 begin
   LastError := GetLastError;
   Result := (LastError <> ERROR_FILE_NOT_FOUND) and
     (LastError <> ERROR_PATH_NOT_FOUND) and
     (LastError <> ERROR_INVALID_NAME) and ExistsLockedOrShared(Filename);
 end;
 SetErrorMode(OldMode);
end;



Страницы: 1 вся ветка

Текущий архив: 2014.03.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.007 c
15-1381233183
RWolf
2013-10-08 15:53
2014.03.30
Визуализация результатов измерений


2-1371586268
vbh
2013-06-19 00:11
2014.03.30
Динамические компонеты


4-1268982928
z2000
2010-03-19 10:15
2014.03.30
FileExists - дает диалог в XP


15-1373483247
Меломан
2013-07-10 23:07
2014.03.30
Синтезатор на ПК


15-1381350602
Юрий
2013-10-10 00:30
2014.03.30
С днем рождения ! 10 октября 2013 четверг