это продолжение "приведения типов LPCTSTR для использования с GetFileAttributes"
я расширил свой метод на GetLastError();
.
Я привожу DWORD в беззнаковое целое и пытаюсь отобразить его с помощью MessageBox.
код работает, но я не могу визуализировать значение DWORD dw
или Unsigned int test
из метода GetLastError();
, используя MessageBox и выясняя, как действовать дальше.
это проект win32, и я пытаюсь создать метод, чтобы увидеть, существует ли файл на жестком диске.
существует более 15 000 кодов ошибок, и невозможно жестко закодировать их все. http://msdn.microsoft.com/en-us/library/windows/desktop/ms681381(v=vs.85).aspx
BOOL FileExists(LPCTSTR szPath)
{
//MessageBox(NULL,szPath,L"File Error",MB_OK);
DWORD dwAttrib = GetFileAttributes(szPath);
unsigned int test;
DWORD dw = GetLastError();
test =(unsigned int)dw;
if(test == 0){
MessageBox(NULL,(LPCWSTR)test, L"Target == 0",MB_OK);
}
else
{
MessageBox(NULL,(LPCWSTR)test, L"Target != 0",MB_OK);
}
switch(dw)
{
case ERROR_SUCCESS:
MessageBox(NULL,L"ERROR_SUCCESS", L"File Error",MB_OK);
break;
case ERROR_PATH_NOT_FOUND:
MessageBox(NULL,L"ERROR_PATH_NOT_FOUND", L"File Error",MB_OK);
break;
default:
MessageBox(NULL,(LPCWSTR)dw, L"File Error",MB_OK);
break;
}
switch(dwAttrib)
{
case FILE_ATTRIBUTE_DIRECTORY:
MessageBox(NULL,L"FILE_ATTRIBUTE_DIRECTORY", L"File Error",MB_OK);
break;
case FILE_ATTRIBUTE_ARCHIVE:
MessageBox(NULL,L"FILE_ATTRIBUTE_ARCHIVE", L"File Error",MB_OK);
break;
case FILE_READ_ONLY_VOLUME:
MessageBox(NULL,L"FILE_READ_ONLY_VOLUME", L"File Error",MB_OK);
break;
case FILE_INVALID_FILE_ID:
MessageBox(NULL,L"FILE_INVALID_FILE_ID", L"File Error",MB_OK);
break;
//case INVALID_FILE_ATTRIBUTES:
// MessageBox(NULL,L"INVALID_FILE_ATTRIBUTES",L"File Error",MB_OK);
// break;
//case FILE_INVALID_FILE_ID:
// MessageBox(NULL,L"Failed to get image file,\\please check game folder",L"File Error",MB_OK);
// break;
default:
MessageBox(NULL,(LPCWSTR)dwAttrib,L"File Error",MB_OK);
break;
}
return true; // testing phase
}
FormatMessage
. Кроме того, вы должны получить ваши основы прямо. Возьмите любое введение из Полное руководство и список книг C++. - person IInspectable   schedule 29.05.2014