//открыть новые скрипты private void OpenScripts_Click(object sender, RoutedEventArgs e) { OpenFileDialog ofd = new OpenFileDialog() { DefaultExt = ".dll", Filter = "DLL Files (.dll)|*.dll" }; //диалог открытия файла if (ofd.ShowDialog().Value) //если открыли { LoadFuncsRunScripts.LoadScripts(ofd.FileName); } }
//тут все ссылочные переменные, на которые надо поставить игнор //public Border bind = null;//основной элемент бинда //public Canvas can = null;//канвас, где все элементы бинда //public DockPanel NameDock = null;//док, где имя и кнопка редактирования имени //public Label nameLab = null;//лейбел имени бинда //public Label script1Lab = null;//лейбел для скрипта 1 бинда //public Label script2Lab = null;//лейбел для скрипта 2 бинда //public Button EnableButton = null;//кнопка включения/выключения бинда //public CheckBox IsToggleCheck = null;//комбобокс с выбором модификатора бинда //public DockPanel ChooseBindDock = null;//док, для хранения бинда //public TextBlock keyText = null;//текстблок для кнопки бинда //public ComboBox comboModifier1 = null;//комбобокс с выбором модификатора бинда1 //public ComboBox comboModifier2 = null;//комбобокс с выбором модификатора бинда2 public MainWindow()//конструктор этого окна { //подготавливаем сериализер для биндов { var overrides = new XmlAttributeOverrides(); var ignore = new XmlAttributes { XmlIgnore = true }; overrides.Add <Bind>(m => m.bind, ignore); overrides.Add <Bind>(m => m.can, ignore); overrides.Add <Bind>(m => m.ChooseBindDock, ignore); overrides.Add <Bind>(m => m.comboModifier1, ignore); overrides.Add <Bind>(m => m.comboModifier2, ignore); overrides.Add <Bind>(m => m.EnableButton, ignore); overrides.Add <Bind>(m => m.IsToggleCheck, ignore); overrides.Add <Bind>(m => m.keyText, ignore); overrides.Add <Bind>(m => m.NameDock, ignore); overrides.Add <Bind>(m => m.nameLab, ignore); overrides.Add <Bind>(m => m.script1Lab, ignore); overrides.Add <Bind>(m => m.script2Lab, ignore); Type t = typeof(Bind[]); xsBinds = new XmlSerializer(t, overrides); } if (Application.ResourceAssembly.Location.Split('\\').Last() != "Binder.exe")//возвращаем наше имя { File.Move(Application.ResourceAssembly.Location, Application.ResourceAssembly.Location.Replace(Application.ResourceAssembly.Location.Split('\\').Last(), "Binder.exe")); } if (Process.GetProcessesByName("Binder").Length > 1) { Application.Current.Shutdown(); } InitializeComponent(); OpenOrCreateSets();//загружаем настройки //применяем настройки if (sets.haveDefaultBindsPath) { try { OpenInPath(sets.defaultBindsPath); } catch//если не удалось открыть или найти файл сохранки то убираем это { MessageBox.Show("Файл " + sets.defaultBindsPath + " не найден!"); sets.defaultBindsPath = ""; sets.haveDefaultBindsPath = false; } } SettingClass.UnRegisterAutoRun(); if (sets.autoRun) { SettingClass.RegisterAutoRun(); } Hook.SetHook();//запускаем хукер ShowWindow(); Show(); if (sets.AutoRunHided) { HideWindow(); } LoadFuncsRunScripts.LoadScripts(); main = this; MouseHook.MouseMove += MousePos;//ставим обработчик //MouseHook.LocalHook = false; }