我已對應用程序進行了一些更改,以允許應用程序在Windows 7中繼續運行。以前,應用程序將設置並從Registry.LocalMachine.OpenSubKey("SOFTWARE", True)
中獲取,但隨着Windows 7的出現必須更改。據微軟稱,「」什麼導致我的寫入註冊表崩潰,並顯示錯誤消息「系統資源不足以完成請求的服務」。
昏暗鍵的RegistryKey'是在Registry.CurrentUser.OpenSubKey指着Microsoft.Win32.RegistryKey
我的註冊表項從建(‘軟件’,真))) : ExecutionArgs.ApplicationKey(Registry.CurrentUser.OpenSubKey("SOFTWARE", True))
我的變量是:
key.Name = "HKEY_CURRENT_USER\SOFTWARE\MyApplication\Application Parameters"
key.SubKeyCount = 0
key.ValueCount = 5
Dim byts() As Byte ' This byte array has {Length=1965879}
key.SetValue("Constants", byts) '
這死與錯誤信息
"Insufficient system resources exist to complete the requested service."
我包括似乎與我有關的數據,如果更多是必要的,請告知。
有沒有人反對過這個能克服它?
你真的不應該把幾乎2MB的數據放到註冊表中。這聽起來像是微軟同意的。 – dlev 2011-05-13 15:28:07
我完全同意,我繼承了這一點,並試圖幫助解決它,直到我有時間去理解現有的註冊條目並存儲在內存流或某些類似的結構中。我的問題是,當存儲到LocalMachine時有效,但在存儲到CurrentUser時不起作用。 – 2011-05-13 15:32:02
不夠公平,不好意思。不確定如何克服它,但如果您已經準備好更新代碼,那麼您可能只想咬緊牙關,編寫代碼以便在更合理的地方存儲和檢索數據。另一種選擇是分解數據並將其存儲在多個值中(例如Constants1,Constant2等) – dlev 2011-05-13 15:34:51