以下是该方案:
我正在编写一个应用程序,它会监视特定目录中的任何更改。这个目录将充斥着每分钟数千个文件,每个文件具有“几乎”唯一的GUID。文件格式为:
GUID.dat,其中GUID == xxxxxxxxxxxxxxxxxxxxxxxxxxxxx (内部内容不相关,但只是文本数据)
我的应用将是一个包含一个文本框的表单,该文本框显示实时添加和删除的所有文件。每次有新文件进来时我都要用这个文件更新文本框,但我必须首先确保这个半唯一的GUID真的是唯一的,如果是,用这个新文件更新文本框。
从该目录中删除文件时,请确保该文件存在,然后将其删除,相应地更新文本框。
问题是我一直在使用.NET filewatcher,似乎有一个内部缓冲区在每次(buffersize + 1)文件进来时都会被炸毁。我还试图保持内部在我的应用程序中列出,只需添加进来的每个文件,但稍后进行unique-GUID检查,但不要骰子。
答案 0 :(得分:3)
我脑子里有几件事情:
抱歉还没有回答,只是想了解更多关于这个问题:)
答案 1 :(得分:2)
我建议您查看SHChangeNotify API调用,该调用可以通知您所有类型的shell事件。要监视文件创建和删除活动,您可能需要特别注意SHCNE_CREATE和SHCNE_DELETE参数。