是否可以使用FindFirstFile()来移动文件

can FindFirstFile() be used to move a file

本文关键字:移动 文件 可以使 FindFirstFile 是否      更新时间:2023-10-16

FindFirstFile()可以用于将文件从一个目录移动或复制到另一个目录吗?既然它返回了一个句柄,这个句柄可以用来执行吗?

不,它甚至不是内核句柄。此句柄只能传递给FindNextFileFindClose

附言:您不希望CreateEvent返回的句柄能够复制文件。。。

它返回的句柄只在允许您调用FindNextFile()时有用。非常方便,可以传递一个通配符(例如".")来迭代所有匹配的文件。不要忘记调用FindClose()。

真正的关键是它返回的WIN32_IND_DATA.cFileName值。这就是您需要调用MoveFile()来实际移动文件的方法。

MoveFile()函数只接受两个参数(从文件名到文件名),因此不需要使用FindFirstFile来移动文件。CopyFile()函数类似。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx

请参阅报价:

如果函数成功,则返回值为中使用的搜索句柄对FindNextFile或FindClose的后续调用,以及lpFindFileData参数包含有关第一个文件或目录的信息建立

返回值是搜索句柄,而不是文件句柄。从这一点来看,你似乎做不到。

FindFirstFile返回搜索句柄(而不是文件句柄