void updateHomePage(EngineModel model) { // IE 使用修改注册表的方式,key: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main // chromium 内核系列的浏览器使用修改配置文件 Secure Preferences 的方式 Regex chromeVersionRe = new Regex(@"^\d+\.\d+\.$", RegexOptions.IgnoreCase | RegexOptions.Singleline); foreach (KeyValuePair <string, IWshShortcut> kv in selectedBrowsers) { if (kv.Key == "iexplore.exe") { Console.WriteLine(wsh.RegRead(@"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main")); //wsh.RegWrite(@"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main", model.MainPage); } else { foreach (var fileInfo in Directory.GetParent(kv.Value.TargetPath).GetFiles()) { //C:\Users\mysto\AppData\Local\Google\Chrome\User Data\Default\Secure Preferences if (chromeVersionRe.IsMatch(fileInfo.Name)) { // chrome } } } } }
// 修改浏览器默认搜索引擎 private void seBtn_Click(object sender, RoutedEventArgs e) { EngineModel model = (EngineModel)lnkCombo.SelectedItem; foreach (KeyValuePair <string, IWshShortcut> kv in selectedBrowsers) { browsersUtil.SetSearchEngineProvider(kv.Value, model); } }
// 修改浏览器主页 private void mpBtn_Click(object sender, RoutedEventArgs e) { EngineModel model = (EngineModel)mpCombo.SelectedItem; foreach (KeyValuePair <string, IWshShortcut> kv in selectedBrowsers) { browsersUtil.SetHomepage(kv.Value, model); } }
void onRecordOp(object sender, RoutedEventArgs e) { string name = ((Button)e.OriginalSource).Name; EngineModel model; SearchEngineInfoEditor editor; DataContext dc = (DataContext)Resources["dataContext"]; switch (name) { case "AddRecordBtn": model = new EngineModel("", "", ""); editor = new SearchEngineInfoEditor() { Owner = this, MyModel = model, Title = "新增" }; if (true == editor.ShowDialog()) { dc.Engines.Add(model); } break; case "EditRecordBtn": model = (EngineModel)seGrid.SelectedItem; editor = new SearchEngineInfoEditor() { Owner = this, MyModel = model, Title = "编辑" }; editor.ShowDialog(); seGrid.UnselectAll(); setState("SelectedRow", null); break; case "RemoveRecordBtn": model = (EngineModel)seGrid.SelectedItem; dc.Engines.Remove(model); setState("SelectedRow", null); break; } }
private void CollectionViewSource_Filter(object sender, FilterEventArgs e) { EngineModel model = (EngineModel)e.Item; e.Accepted = model.IsValid(); }