Ejemplo n.º 1
0
        //настройки программы
        private void Settings_Click(object sender, RoutedEventArgs e)
        {
            stw = new SettingsWindow();                                    //создаём новое окно настроек
            //загружаем все настройки в окно настроек
            stw.SelectAutoBindsPath.IsEnabled = sets.haveDefaultBindsPath; //включаем выбор бинда поумолчанию, если надо
            stw.DefaultBindsPath.IsEnabled    = sets.haveDefaultBindsPath; //включаем выбор бинда поумолчанию, если надо
            stw.AutoOpenBinds.IsChecked       = sets.haveDefaultBindsPath; //включаем выбор бинда поумолчанию, если надо
            stw.DefaultBindsPath.Text         = sets.defaultBindsPath;     //вставляем путь до бинда по стандарту
            stw.AutorunCheckBox.IsChecked     = sets.autoRun;              //включаем/выключаем автозапуск
            stw.RunHided.IsChecked            = sets.AutoRunHided;         //включаем/выключаем скрытый запуск


            //при нажатии не чекбокс с выбором биндов поумолчанию
            stw.AutoOpenBinds.Click += (object seneder, RoutedEventArgs eBinds) =>
            {
                stw.SelectAutoBindsPath.IsEnabled = stw.AutoOpenBinds.IsChecked.Value;
                stw.DefaultBindsPath.IsEnabled    = stw.AutoOpenBinds.IsChecked.Value;
                sets.haveDefaultBindsPath         = stw.AutoOpenBinds.IsChecked.Value;
            };

            //при нажатии на кнопку выбора пути к файлу
            stw.SelectAutoBindsPath.Click += (object seneder, RoutedEventArgs eBinds) =>
            {
                OpenFileDialog ofd = new OpenFileDialog()
                {
                    FileName   = lastOpenPath,
                    DefaultExt = ".xml",
                    Filter     = "XML Files (.xml)|*.xml"
                };                          //диалог открытия файла
                if (ofd.ShowDialog().Value) //если открыли
                {
                    sets.defaultBindsPath     = ofd.FileName;
                    stw.DefaultBindsPath.Text = ofd.FileName;
                }
            };

            //при изменении значения автозапуска
            stw.AutorunCheckBox.Click += (object seneder, RoutedEventArgs eBinds) =>
            {
                sets.autoRun = stw.AutorunCheckBox.IsChecked.Value;
                SettingClass.UnRegisterAutoRun();
                if (sets.autoRun)
                {
                    SettingClass.RegisterAutoRun();
                }
            };

            //при изменении скрытого запуска
            stw.RunHided.Click += (object seneder, RoutedEventArgs eBinds) =>
            {
                sets.AutoRunHided = stw.RunHided.IsChecked.Value;
            };



            stw.Closing += (object seneder, System.ComponentModel.CancelEventArgs eBinds) =>
            {
                SaveSets();
            };

            stw.ShowDialog();
            stw.Activate();
        }
Ejemplo n.º 2
0
        //тут все ссылочные переменные, на которые надо поставить игнор
        //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;
        }