我最近在应用程序中添加了使用GetTempPath。在代码审查它强调的是GetTempPath的描述所包含的信息:检查目录的正确方法可用于编写
应用程序应该先于任何使用文件I/O操作验证的路径和足够的访问权限存在的路径。
现在,所有的文件访问都被封装在try/catch块中,并且会有哪些系统无法访问它自己的临时目录?
我最初的想法是尝试创建目录,如果它们不存在(通过GetFileAttributes和CreateDirectory),然后创建一个文件,写一个字节,然后删除该文件。虽然这会起作用,但它会产生无知 - 确实有更好的方法来检查您是否有权访问文件夹?
我开始寻找和发现文件属性常量,通用访问权限,标准访问权限,文件访问权限常量和GetSecurityInfo函数。所有这些似乎都创建了比创建文件更长的解决方案,并查看它是否坚持方法。
那么使用WinAPI函数检查您是否有写入权限的正确方法是什么?
+1我同意100% –
特别是当AV产品介入时游戏发生变化。它们以安全名称阻止临时文件夹中的某些操作而闻名,例如,阻止可执行文件。 – Deanna