我寫了三個程序,修改Windows Mobile中的註冊表以安裝和刪除用於調試目的的todayscreen插件。他們工作了一段時間,但他們一個接一個地突然給了「UnauthorizedAccessException」。Windows Mobile Registry UnauthorizedAccessException
看到代碼了兩個下方(注意,下面的代碼乾脆直接坐在主,所以它運行,然後程序終止)的節目...
RegistryInit.exe:
RegistryKey CustomItem = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(@"Software\Microsoft\Today\Items\TodayLauncher");
CustomItem.SetValue("Type", 4, RegistryValueKind.DWord);
CustomItem.SetValue("Enabled", 1, RegistryValueKind.DWord);
CustomItem.SetValue("Options", 1, RegistryValueKind.DWord);
CustomItem.SetValue("DLL", @"\Program Files\TodayLauncher\TodayLauncher.dll", RegistryValueKind.String);
CustomItem.SetValue("Config", @"\Program Files\TodayLauncher\Settings.cfg", RegistryValueKind.String);
CustomItem.SetValue("Selectability", 1, RegistryValueKind.DWord);
SendMessage((IntPtr)HWND_BROADCAST, WM_WININICHANGE, 0xF2, 0);
RegistryClear:
Microsoft.Win32.Registry.LocalMachine.DeleteSubKey(@"Software\Microsoft\Today\Items\TodayLauncher");
SendMessage((IntPtr)HWND_BROADCAST, WM_WININICHANGE, 0xF2, 0);
第三個方案是,有選擇,添加和刪除使用上面的代碼的精確副本的註冊表項配置程序,但它NE很有效。有一段時間它可以運行「RegistryInit」的代碼,但那不會持續太久。現在原來的「RegistryClear」程序不起作用,給出相同的UnauthorizedAccessException。我發現這些程序運行一段時間後很奇怪,然後突然停止工作。
任何想法?
我做了一些更多的google搜索,我發現這個職位... http://forum.xda-developers.com/showthread.php?t=498869 我添加了「真」到OpenSubKeys,但沒有解決問題 – zort15 2009-05-17 19:21:36