protected override void OnStartup(StartupEventArgs e) { bool createdNew; _mutex = new Mutex(true, @"LeagueSharp.Loader.Mutex", out createdNew); if (!createdNew) { if (e.Args.Length > 0) { var wnd = Injection.FindWindow(IntPtr.Zero, "LeagueSharp"); if (wnd != IntPtr.Zero) { if (e.Args[0] == "addregkey") { LSUriScheme.CreateRegistryKeys(true); } else { Clipboard.SetText(e.Args[0]); ShowWindow(wnd, 5); SetForegroundWindow(wnd); } } } _mutex = null; Environment.Exit(0); } base.OnStartup(e); }
protected override void OnStartup(StartupEventArgs e) { if (File.Exists(Updater.SetupFile)) { Thread.Sleep(1000); } bool createdNew; _mutex = new Mutex(true, @"LeagueSharp.Loader.Mutex", out createdNew); if (!createdNew) { if (e.Args.Length > 0) { var wnd = Injection.FindWindow(IntPtr.Zero, "LeagueSharp"); if (wnd != IntPtr.Zero) { Clipboard.SetText(e.Args[0]); ShowWindow(wnd, 5); SetForegroundWindow(wnd); } } _mutex = null; Environment.Exit(0); } Utility.CreateFileFromResource(Directories.ConfigFilePath, "LeagueSharp.Loader.Resources.config.xml"); try { Config.Instance = ((Config)Utility.MapXmlFileToClass(typeof(Config), Directories.ConfigFilePath)); } catch (Exception) { System.Windows.MessageBox.Show("Couldn't load config.xml."); File.Delete(Directories.ConfigFilePath); Environment.Exit(0); } //Load the language resources. var dict = new ResourceDictionary(); if (Config.Instance.SelectedLanguage != null) { dict.Source = new Uri("..\\Resources\\Language\\" + Config.Instance.SelectedLanguage + ".xaml", UriKind.Relative); } else { var lid = Thread.CurrentThread.CurrentCulture.ToString().Contains("-") ? Thread.CurrentThread.CurrentCulture.ToString().Split('-')[0].ToUpperInvariant() : Thread.CurrentThread.CurrentCulture.ToString().ToUpperInvariant(); switch (lid) { case "DE": dict.Source = new Uri("..\\Resources\\Language\\German.xaml", UriKind.Relative); break; case "ES": dict.Source = new Uri("..\\Resources\\Language\\Spanish.xaml", UriKind.Relative); break; case "FR": dict.Source = new Uri("..\\Resources\\Language\\French.xaml", UriKind.Relative); break; case "IT": dict.Source = new Uri("..\\Resources\\Language\\Italian.xaml", UriKind.Relative); break; case "KO": dict.Source = new Uri("..\\Resources\\Language\\Korean.xaml", UriKind.Relative); break; case "NL": dict.Source = new Uri("..\\Resources\\Language\\Dutch.xaml", UriKind.Relative); break; case "PL": dict.Source = new Uri("..\\Resources\\Language\\Polish.xaml", UriKind.Relative); break; case "PT": dict.Source = new Uri("..\\Resources\\Language\\Portuguese.xaml", UriKind.Relative); break; case "RO": dict.Source = new Uri("..\\Resources\\Language\\Romanian.xaml", UriKind.Relative); break; case "RU": dict.Source = new Uri("..\\Resources\\Language\\Russian.xaml", UriKind.Relative); break; case "SE": dict.Source = new Uri("..\\Resources\\Language\\Swedish.xaml", UriKind.Relative); break; case "TR": dict.Source = new Uri("..\\Resources\\Language\\Turkish.xaml", UriKind.Relative); break; case "VI": dict.Source = new Uri("..\\Resources\\Language\\Vietnamese.xaml", UriKind.Relative); break; case "ZH": dict.Source = new Uri("..\\Resources\\Language\\Chinese.xaml", UriKind.Relative); break; default: dict.Source = new Uri("..\\Resources\\Language\\English.xaml", UriKind.Relative); break; } } Resources.MergedDictionaries.Add(dict); base.OnStartup(e); }
protected override void OnStartup(StartupEventArgs e) { if (File.Exists(Updater.SetupFile)) { Thread.Sleep(1000); } bool createdNew; _mutex = new Mutex(true, Utility.Md5Hash(Utility.Md5Checksum(Directories.LoaderFilePath) + Utility.Md5Hash(Environment.UserName)), out createdNew); if (!createdNew) { if (e.Args.Length > 0) { var wnd = Injection.FindWindow(IntPtr.Zero, "LeagueSharp"); if (wnd != IntPtr.Zero) { Clipboard.SetText(e.Args[0]); ShowWindow(wnd, 5); SetForegroundWindow(wnd); } } _mutex = null; Environment.Exit(0); } Utility.CreateFileFromResource(Directories.ConfigFilePath, "LeagueSharp.Loader.Resources.config.xml"); var configCorrupted = false; try { Config.Instance = ((Config)Utility.MapXmlFileToClass(typeof(Config), Directories.ConfigFilePath)); } catch (Exception) { configCorrupted = true; } if (!configCorrupted) { try { if (File.Exists(Directories.ConfigFilePath + ".bak")) { File.Delete(Directories.ConfigFilePath + ".bak"); } File.Copy(Directories.ConfigFilePath, Directories.ConfigFilePath + ".bak"); File.SetAttributes(Directories.ConfigFilePath + ".bak", FileAttributes.Hidden); } catch (Exception) { //ignore } } else { try { Config.Instance = ((Config)Utility.MapXmlFileToClass(typeof(Config), Directories.ConfigFilePath + ".bak")); File.Delete(Directories.ConfigFilePath); File.Copy(Directories.ConfigFilePath + ".bak", Directories.ConfigFilePath); File.SetAttributes(Directories.ConfigFilePath, FileAttributes.Normal); } catch (Exception) { File.Delete(Directories.ConfigFilePath + ".bak"); File.Delete(Directories.ConfigFilePath); MessageBox.Show("Couldn't load config.xml."); Environment.Exit(0); } } #region AppData randomization try { var oldPath = Path.Combine(Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData), "LeagueSharp"); if (!Directory.Exists(Directories.AppDataDirectory)) { Directory.CreateDirectory(Directories.AppDataDirectory); } if (Directory.Exists(oldPath)) { Utility.CopyDirectory(oldPath, Directories.AppDataDirectory, true, true); Utility.ClearDirectory(oldPath); Directory.Delete(oldPath, true); } } catch (Exception ex) { MessageBox.Show("AppData randomization failed.\n" + ex.Message, "Startup", MessageBoxButton.OK, MessageBoxImage.Error); Environment.Exit(1); } #endregion //Load the language resources. var dict = new ResourceDictionary(); if (Config.Instance.SelectedLanguage != null) { dict.Source = new Uri( "..\\Resources\\Language\\" + Config.Instance.SelectedLanguage + ".xaml", UriKind.Relative); } else { var lid = Thread.CurrentThread.CurrentCulture.ToString().Contains("-") ? Thread.CurrentThread.CurrentCulture.ToString().Split('-')[0].ToUpperInvariant() : Thread.CurrentThread.CurrentCulture.ToString().ToUpperInvariant(); switch (lid) { case "DE": dict.Source = new Uri("..\\Resources\\Language\\German.xaml", UriKind.Relative); break; case "AR": dict.Source = new Uri("..\\Resources\\Language\\Arabic.xaml", UriKind.Relative); break; case "ES": dict.Source = new Uri("..\\Resources\\Language\\Spanish.xaml", UriKind.Relative); break; case "FR": dict.Source = new Uri("..\\Resources\\Language\\French.xaml", UriKind.Relative); break; case "IT": dict.Source = new Uri("..\\Resources\\Language\\Italian.xaml", UriKind.Relative); break; case "KO": dict.Source = new Uri("..\\Resources\\Language\\Korean.xaml", UriKind.Relative); break; case "NL": dict.Source = new Uri("..\\Resources\\Language\\Dutch.xaml", UriKind.Relative); break; case "PL": dict.Source = new Uri("..\\Resources\\Language\\Polish.xaml", UriKind.Relative); break; case "PT": dict.Source = new Uri("..\\Resources\\Language\\Portuguese.xaml", UriKind.Relative); break; case "RO": dict.Source = new Uri("..\\Resources\\Language\\Romanian.xaml", UriKind.Relative); break; case "RU": dict.Source = new Uri("..\\Resources\\Language\\Russian.xaml", UriKind.Relative); break; case "SE": dict.Source = new Uri("..\\Resources\\Language\\Swedish.xaml", UriKind.Relative); break; case "TR": dict.Source = new Uri("..\\Resources\\Language\\Turkish.xaml", UriKind.Relative); break; case "VI": dict.Source = new Uri("..\\Resources\\Language\\Vietnamese.xaml", UriKind.Relative); break; case "ZH": dict.Source = new Uri("..\\Resources\\Language\\Chinese.xaml", UriKind.Relative); break; case "LT": dict.Source = new Uri("..\\Resources\\Language\\Lithuanian.xaml", UriKind.Relative); break; default: dict.Source = new Uri("..\\Resources\\Language\\English.xaml", UriKind.Relative); break; } } if (Config.Instance.SelectedColor != null) { ThemeManager.ChangeAppStyle(Application.Current, ThemeManager.GetAccent(Config.Instance.SelectedColor), ThemeManager.GetAppTheme("BaseLight")); } Resources.MergedDictionaries.Add(dict); base.OnStartup(e); }
protected override void OnStartup(StartupEventArgs e) { bool createdNew; _mutex = new Mutex(true, @"LeagueSharp.Loader.Mutex", out createdNew); if (!createdNew) { if (e.Args.Length > 0) { var wnd = Injection.FindWindow(IntPtr.Zero, "LeagueSharp"); if (wnd != IntPtr.Zero) { if (e.Args[0] == "addregkey") { LSUriScheme.CreateRegistryKeys(true); } else { Clipboard.SetText(e.Args[0]); ShowWindow(wnd, 5); SetForegroundWindow(wnd); } } } _mutex = null; Environment.Exit(0); } //Load the language resources. var dict = new ResourceDictionary(); if (File.Exists(Directories.LanguageFileFilePath)) { dict.Source = new Uri("..\\Resources\\Language\\" + File.ReadAllText(Directories.LanguageFileFilePath) + ".xaml", UriKind.Relative); } else { var lid = Thread.CurrentThread.CurrentCulture.ToString().Contains("-") ? Thread.CurrentThread.CurrentCulture.ToString().Split('-')[0].ToUpperInvariant() : Thread.CurrentThread.CurrentCulture.ToString().ToUpperInvariant(); switch (lid) { case "DE": dict.Source = new Uri("..\\Resources\\Language\\German.xaml", UriKind.Relative); break; case "ES": dict.Source = new Uri("..\\Resources\\Language\\Spanish.xaml", UriKind.Relative); break; case "FR": dict.Source = new Uri("..\\Resources\\Language\\French.xaml", UriKind.Relative); break; case "IT": dict.Source = new Uri("..\\Resources\\Language\\Italian.xaml", UriKind.Relative); break; case "KO": dict.Source = new Uri("..\\Resources\\Language\\Korean.xaml", UriKind.Relative); break; case "PL": dict.Source = new Uri("..\\Resources\\Language\\Polish.xaml", UriKind.Relative); break; case "PT": dict.Source = new Uri("..\\Resources\\Language\\Portuguese.xaml", UriKind.Relative); break; case "RO": dict.Source = new Uri("..\\Resources\\Language\\Romanian.xaml", UriKind.Relative); break; case "RU": dict.Source = new Uri("..\\Resources\\Language\\Russian.xaml", UriKind.Relative); break; case "TR": dict.Source = new Uri("..\\Resources\\Language\\Turkish.xaml", UriKind.Relative); break; case "VI": dict.Source = new Uri("..\\Resources\\Language\\Vietnamese.xaml", UriKind.Relative); break; case "ZH": dict.Source = new Uri("..\\Resources\\Language\\Chinese.xaml", UriKind.Relative); break; default: dict.Source = new Uri("..\\Resources\\Language\\English.xaml", UriKind.Relative); break; } } Resources.MergedDictionaries.Add(dict); base.OnStartup(e); }