当进程以低完整性级别运行时,无法写入%temp%,因此我需要一种方法来查找在%temp%\低目录(没有硬编码字 “低”)当以低完整性级别运行时,如何获取%temp% Low的位置
回答
根据MSDN
时,在保护模式下,扩展可以 文件写入以下 用户的用户配置文件夹中的文件夹,通常 %USERPROFILE%\应用程序数据\ LocalLow。使用 SHGetKnownFolderPath函数与 FOLDERID_LocalAppDataLow标志到 获取扩展文件夹名称。
SHGetKnownFolderPath(FOLDERID_LocalAppDataLow, 0,
NULL, szPath, ARRAYSIZE(szPath));
中的"Finding Low Integrity Write Locations" section “了解和保护模式Internet Explorer的工作” 的文章包括以下珍闻:
注意保护模式IE修改的环境变量。因此,在保护模式处于活动状态时调用GetTempPath()函数时会返回%Temp%\ Low。
我相信这是一个IE浏览器唯一的东西... – Anders 2011-09-28 20:37:42
如果您只是寻找要写入的临时目录,则可以遍历%temp%
目录中的目录并尝试写入每个目录。
如果UAC被禁用,.
应该是第一个。如果不是,.\Low
应该是唯一的一个。
有趣的是,也许操作系统照顾给你%temp%environemnt变量的Temp \ Low路径,所以GetTempPath()返回正确的路径?我没有测试它。但是,这不*直接与UAC相关。 UAC不会始终以高完整性令牌运行 - 但即使禁用UAC,也可以创建低完整性的进程。 – Danra 2011-09-30 21:01:50
- 1. 如何从低廉的完整性级别流程创建中等完整性级别流程?
- 2. 如何启动低完整性级别的进程
- 3. 如何使用的ProcessStartInfo以最低的执行级别运行
- 4. 如何读取Linux中的低级别鼠标点击位置。
- 5. C++如何在IUIAutomation级别获取文件的完整路径?
- 6. .NET Trust级别不是“完整”时获取ServiceStack许可错误
- 7. 如何确定进程的完整性级别?
- 8. Windows程序以高完整性级别运行,没有管理权限
- 9. 如何在较低的执行级别
- 10. 如何在运行时调整log4j级别?
- 11. 获取当前位置Android API级别23
- 12. '上传'表格以获取文件的完整位置?
- 13. 如何以编程方式获取当前的音频级别?
- 14. 如何添加属性级别属性以在运行时映射ColumnAttribute?
- 15. 如何确定流程的完整性级别?
- 16. 如何挂接更高完整性级别的进程?
- 17. 如何获取行位置?
- 18. ASP.NET - 信任级别=完整?
- 19. 如何轻松设置slf4j在运行时的日志级别?
- 20. 如何从低级别的属性中获取引用到C#中同一类中的某些顶级属性?
- 21. 当动画在android中完成时获取对象的位置
- 22. 如何获取当前的iScroll位置?
- 23. 如何获取当前的GPS位置?
- 24. 我可以获取clickonce设置运行的位置吗?
- 25. 如何在运行时获取内核模块的完整依赖列表
- 26. 如何以编程方式获取/设置当前位置?
- 27. 如何获取int的低8位?
- 28. 获取产品最低级别的子类别
- 29. 当AndroidManifest在x中引入属性时,应用程序是否在低于x的API级别上运行?
- 30. bing地图:如何设置缩放级别,以便用户可以看到精确位置当前位置
获取本地应用程序数据但不是临时低... – 2009-12-21 16:24:26
虽然这不是对您的问题的直接答案,但它似乎是唯一安全的文件夹,您可以在不对路径进行硬编码的情况下获得。我会使用它并在那里创建临时文件夹。 (当然,这会让您更负责管理文件的最终删除)。 – Danra 2011-09-30 20:58:42