private static int Main(string[] args) { CiTrace("Application", "Started"); // measure startup time (maybe including CEF download) _startupTimer = new Stopwatch(); _startupTimer.Start(); var core = typeof(ChromelyConfiguration).Assembly; CiTrace("Chromely.Core", core.GetName().Version.ToString()); CiTrace("Platform", ChromelyRuntime.Platform.ToString()); var appDirectory = AppDomain.CurrentDomain.BaseDirectory; CiTrace("AppDirectory", appDirectory); var startUrl = $"file:///{appDirectory}/index.html"; var windowStyle = new WindowCreationStyle(); windowStyle.WindowStyles = WindowStyles.WS_OVERLAPPEDWINDOW | WindowStyles.WS_CLIPCHILDREN | WindowStyles.WS_CLIPSIBLINGS; windowStyle.WindowExStyles = WindowExStyles.WS_EX_APPWINDOW | WindowExStyles.WS_EX_WINDOWEDGE; var config = ChromelyConfiguration .Create() .WithDebuggingMode(true) .WithLoadingCefBinariesIfNotFound(true) .WithSilentCefBinariesLoading(true) .RegisterEventHandler <ConsoleMessageEventArgs>(CefEventKey.ConsoleMessage, OnWebBrowserConsoleMessage) .WithAppArgs(args) .WithHostBounds(1000, 600) .WithHostCustomStyle(windowStyle) //.WithHostFlag(HostFlagKey.CenterScreen, true | false - default true) //.WithHostFlag(HostFlagKey.Frameless, true | false - default false) //.WithHostFlag(HostFlagKey.KioskMode, true | false - default false) .WithHostFlag(HostFlagKey.NoResize, true) // - default false) .WithHostFlag(HostFlagKey.NoMinMaxBoxes, true) // - default false) .WithStartUrl(startUrl); CiTrace("Configuration", "Created"); try { using (_window = ChromelyWindow.Create(config)) { _window.RegisterEventHandler(CefEventKey.FrameLoadEnd, new ChromelyEventHandler <FrameLoadEndEventArgs>(CefEventKey.FrameLoadEnd, OnFrameLoaded)); CiTrace("Window", "Created"); var result = _window.Run(args); CiTrace("RunResult", result.ToString()); } } catch (Exception ex) { Console.WriteLine(ex); throw; } CiTrace("Application", "Done"); return(0); }
/// <summary> /// The get window styles. /// </summary> /// <param name="state"> /// The state. /// </param> /// <returns> /// The <see cref="Tuple"/>. /// </returns> private Tuple <WindowStyles, WindowExStyles, ShowWindowCommands> GetWindowStyles(WindowCreationStyle customCreationStyle, WindowState state) { var styles = customCreationStyle.WindowStyles; var exStyles = customCreationStyle.WindowExStyles; switch (state) { case WindowState.Normal: return(new Tuple <WindowStyles, WindowExStyles, ShowWindowCommands>(styles, exStyles, ShowWindowCommands.SW_SHOWNORMAL)); case WindowState.Maximize: return(new Tuple <WindowStyles, WindowExStyles, ShowWindowCommands>(styles, exStyles, ShowWindowCommands.SW_SHOWMAXIMIZED)); case WindowState.Fullscreen: return(new Tuple <WindowStyles, WindowExStyles, ShowWindowCommands>(styles, exStyles, ShowWindowCommands.SW_SHOWMAXIMIZED)); } return(new Tuple <WindowStyles, WindowExStyles, ShowWindowCommands>(styles, exStyles, ShowWindowCommands.SW_SHOWNORMAL)); }