它們有什麼用處,如果它們無法改變其默認值呢?修辭問題。如何避免應用程序範圍設置爲只讀?
首先,繞過設置系統並直接寫入應用程序範圍設置文件(下一段中的安全問題)的最佳方法是什麼?的XmlReader/XmlWriter的?
IIRC,如果應用程序試圖寫入其Program Files文件夾,Windows Vista和7會做一些魔術來防止這種情況發生。我想我需要調用UAC來升級,並且我必須在應用程序的「選項」窗口的「確定」按鈕上放置那個花哨的盾牌圖標,等等。鏈接到一個快速的方法?
或者,您可能會告訴我,我正在嘗試做的事很愚蠢,我應該將我可更改的應用程序範圍設置存儲在其他位置。
但這正是我想要的!用戶A修改某些內容,而用戶B不必重複該修改。 – CannibalSmith
更奇怪的是,更多的人不需要這個功能。當然很多應用程序都具有程序員想要構建友好UI的全局設置。 –
@Ben - 如果你確實想將設置直接保存到全局,你可以使用[ConfigurationManager](http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.aspx)類。 exe.config文件。很明顯,如果該文件位於c:\ programfiles \中,您的用戶將需要相應的管理權限。首先像這樣打開配置:var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);然後像這樣添加新的設置:config.AppSettings.Settings.Add(「key」,「value」); (或者你可以創建自定義配置部分)不要忘記打電話保存。 –