Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2014.03.30;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2014.03.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.002 c
1-1323671628
Almaz
2011-12-12 10:33
2014.03.30
Ошибка доступа в CreateRemoteThread


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


15-1379480379
[ВладОшин]
2013-09-18 08:59
2014.03.30
Научите писать HelloWorld для Андроида на XE5


2-1371981030
clix
2013-06-23 13:50
2014.03.30
список выбора цвета.


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





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