Beispiel #1
0
        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);
        }
Beispiel #2
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));
        }