diff --git a/Windows API/IsPathValid.cpp b/Windows API/IsPathValid.cpp new file mode 100644 index 0000000..b8a0403 --- /dev/null +++ b/Windows API/IsPathValid.cpp @@ -0,0 +1,27 @@ +BOOL IsPathValidA(PCHAR FilePath) +{ + HANDLE hFile = INVALID_HANDLE_VALUE; + + hFile = CreateFileA(FilePath, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (hFile == INVALID_HANDLE_VALUE) + return FALSE; + + if (hFile) + CloseHandle(hFile); + + return TRUE; +} + +BOOL IsPathValidW(PWCHAR FilePath) +{ + HANDLE hFile = INVALID_HANDLE_VALUE; + + hFile = CreateFileW(FilePath, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (hFile == INVALID_HANDLE_VALUE) + return FALSE; + + if (hFile) + CloseHandle(hFile); + + return TRUE; +}