當進程以低完整性級別運行時,無法寫入%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