簡體   English   中英

如何以IE保護模式(從托管BHO)訪問AppData

[英]How to Access AppData in IE Protected Mode (from a Managed BHO)

我正在用C#編寫IE擴展(BHO)。 當以保護模式運行(IE的新UAC兼容模式,該模式強制所有擴展以低完整性運行)時,它將失敗,因為它無法訪問appdata文件夾中的user.config。

有什么方法可以將文件標記為低完整性進程可讀?

如果失敗,是否有某種方法可以迫使BHO以中等級別的完整性運行?

如果失敗,是否有某種方法可以在低完整性文件夾中創建低完整性符號鏈接,該鏈接指向AppData中的中完整性文件?

失敗了,是否有某種方法可以強制應用程序使用LocalLow文件夾中的user.config文件? 如何在.net中獲取此文件夾的路徑(未在Environment.SpecialFolder下列出)? 我能否在不丟失所有user.config數據的情況下回退到運行XP的用戶或關閉保護模式的用戶?

有一種方法不是特別優雅,但是您可以啟動具有中等級別完整性的另一個(代理)過程,該過程可以完成“骯臟的工作”並使用IPC與之通信。 為了使您的生活更輕松,我建議您使用套接字進行通信,因為它們不需要安全檢查,當您在具有不同完整性級別的進程之間進行通信時,這很棘手。

為了在生成新進程時跳過UAC警告,可以修改BHO注冊腳本並添加一些注冊表值,這些值將通知IE將新進程靜默提升到中等級別。

您可以在這里找到更多信息: http : //msdn.microsoft.com/zh-cn/library/bb250462(VS.85).aspx#wpm_elebp

在RegisterBHO期間,您將獲得一鍵式特權訪問。 之后,您將進入保護模式。

如果您需要在BHO的運行期間更改長期存儲,我發現注冊表是最好的地方。 您所做的更改僅對您可見,但它們將保持不變。

我建議您編寫自己的SettingsProvider,將其保存在System.IO.IsolatedStorage中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM