aau*_*aau 2 winapi create-directory
我当然不是 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);
}
Run Code Online (Sandbox Code Playgroud)
这确实在我测试的机器上工作(如果目录为空),但我不确定它是否被记录为有效的事情。
| 归档时间: |
|
| 查看次数: |
2746 次 |
| 最近记录: |