应该这么说,本程序不是unicode版本,所以对于那种文件名中含有全角字符,虽然字符数不超过最大数(244),但是实际上它的字节数已经超过了MAX_PATH,这时候FindFirstFile()的返回句柄无效, 错误为234 More data is available. ERROR_MORE_DATA 因为本程序非常大,一个项目,不能随便改动,而这个函数也非常底层,改动不知会带来什么意想不到的结果!大家可以用这个文件名测试一下 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123フフフフフフフフフフフフフフフフフフ 后面是日文字符,大家也可以换成相应个数的中文字符(只要是全角就可以)!
实在不行就继承这个类,然后重载一个自己的FindFirstFile函数好了
错误为234 More data is available. ERROR_MORE_DATA
因为本程序非常大,一个项目,不能随便改动,而这个函数也非常底层,改动不知会带来什么意想不到的结果!大家可以用这个文件名测试一下
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123フフフフフフフフフフフフフフフフフフ 后面是日文字符,大家也可以换成相应个数的中文字符(只要是全角就可以)!
WIN32_FIND_DATAW fd; HANDLE hFind = ::FindFirstFileW(L"*.*", &fd);
if (hFind == INVALID_HANDLE_VALUE)
return; ::FindClose(hFind);
USES_CONVERSION;
MessageBox(W2A(fd.cFileName));