我当然不是 Win32 API 编程方面的专家,但我刚刚学到的是,使用该函数,一旦使用该值CreateFile
释放其句柄,我可以将其标记为被操作系统删除。FILE_FLAG_DELETE_ON_CLOSE
我似乎找不到使用 的方法来做同样的CreateDirectory
事情,或者我错过了什么?
或者,我可以订阅此特定文件夹中的更改(例如创建的新文件),然后以某种方式使用此标志标记文件夹中的所有文件吗?
我当然不是 Win32 API 编程方面的专家,但我刚刚学到的是,使用该函数,一旦使用该值CreateFile
释放其句柄,我可以将其标记为被操作系统删除。FILE_FLAG_DELETE_ON_CLOSE
我似乎找不到使用 的方法来做同样的CreateDirectory
事情,或者我错过了什么?
或者,我可以订阅此特定文件夹中的更改(例如创建的新文件),然后以某种方式使用此标志标记文件夹中的所有文件吗?
您可以使用 FILE_FLAG_BACKUP_SEMANTICS 标志打开目录句柄:
#include <windows.h>
#include <stdio.h>
void main()
{
CreateDirectory(".\\testdir",NULL);
system("pause");
HANDLE hDir = CreateFile(".\\testdir",0,FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,0,OPEN_EXISTING,FILE_FLAG_BACKUP_SEMANTICS|FILE_FLAG_DELETE_ON_CLOSE,NULL);
CloseHandle(hDir);
}
这在我测试的机器上确实有效(如果目录为空),但我不确定它是否被记录为有效的事情。