Re:А функцию SearchPath забыли?
bool FileExists (LPCTSTR fname)
{
return 0 != ::SearchPath(_T(""), // Avoid ambiguous paths
fname, NULL, NULL, NULL, NULL);
}
Очень важно, чтобы первым параматром была пустая строка.
Иначе такой вот код может сработать а может и нет:
bool b = FileExists(_T("hal.dll"));
if (b)
::DeleteFile(_T("hal.dll"));
Дело в том, что если бы первый параметр был NULL,
то ::SearchPath() нашла бы файлик, а вот ::DeleteFile() — нет.
Пока на собственное сообщение не было ответов, его можно удалить.