public static Hashtable Startup(string[] args, string defaultCommandLineSwitch) { WindowSize windowSize = new WindowSize(1012, 693); string str = null; bool flag1 = false; bool flag2 = false; Hashtable hashtable = new Hashtable(); bool flag3 = false; if (args != null) { foreach (CommandLineArgument commandLineArgument in CommandLineArgument.ParseArgs(args, defaultCommandLineSwitch)) { switch (commandLineArgument.Name) { case "gdi": Application.RenderingType = RenderingType.GDI; flag3 = true; break; case "switchtogdi": ClientConfiguration.GeneralSettings.RenderingType = 0; break; case "dx9": Application.RenderingType = RenderingType.DX9; flag3 = true; break; case "size": try { windowSize = ParseSize(commandLineArgument.Value); break; } catch (FormatException ex) { break; } catch (ArgumentException ex) { break; } case "minimized": flag2 = true; break; case "nativeframe": flag1 = true; break; case "animations": try { Application.AnimationsEnabled = bool.Parse(commandLineArgument.Value); break; } catch (FormatException ex) { break; } default: hashtable[commandLineArgument.Name] = commandLineArgument.Value; break; } } } if (ClientConfiguration.GeneralSettings.UseGDI) { ClientConfiguration.GeneralSettings.RenderingType = 0; ClientConfiguration.GeneralSettings.UseGDI = false; } if (!flag3) { Application.RenderingType = (RenderingType)ClientConfiguration.GeneralSettings.RenderingType; Application.RenderingQuality = (RenderingQuality)ClientConfiguration.GeneralSettings.RenderingQuality; } if (str != null) { if (str == "ltr") { Application.IsRTL = false; } else if (str == "rtl") { Application.IsRTL = true; } } Application.AnimationsEnabled = ClientConfiguration.GeneralSettings.AnimationsEnabled; Application.Initialize(); Application.Window.InitialClientSize = windowSize; object obj = Registry.GetValue(ZuneUI.Shell.SettingsRegistryPath, "WindowPosition", null); if (obj != null) { if (obj is string) { try { if (!flag2) { Application.Window.SetSavedInitialPosition((string)obj); } else { Application.Window.SetSavedInitialPosition((string)obj, WindowState.Minimized); } } catch (ArgumentException ex) { } } } Application.Window.RespectsStartupSettings = true; Application.Window.InitialPositionPolicy = WindowPositionPolicy.CenterOnWorkArea | WindowPositionPolicy.ConstrainToWorkArea; Application.Window.ShowWindowFrame = flag1; Application.Window.SetBackgroundColor(ZuneUI.Shell.WindowColorFromRGB(ClientConfiguration.Shell.BackgroundColor)); if (!flag2) { Application.DeferredInvoke(delegate { Windowing.ForceSetForegroundWindow(Application.Window.Handle); }, DeferredInvokePriority.Low); } return(hashtable); }