static void Main() { #if NETCOREAPP3_1_OR_GREATER Application.SetHighDpiMode(HighDpiMode.PerMonitorV2); #endif Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); WinFormium.CreateRuntimeBuilder(env => { env.CustomCefSettings(settings => { // Sets this property to true, if you are attempting to use Layerd/Acrylic style. settings.WindowlessRenderingEnabled = true; }); env.CustomCefCommandLineArguments(commandLine => { }); }, app => { app.UseDebuggingMode(); app.UseEmbeddedFileResource("http", "res.app.local", "wwwroot"); app.UseMainWindow(context => new MainWindow()); }).Build().Run(); }
static void Main() { #if NETCOREAPP3_1 Application.SetHighDpiMode(HighDpiMode.PerMonitorV2); #endif Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Form1()); WinFormium.CreateRuntimeBuilder(env => { env.CustomCefSettings(settings => { }); env.CustomCefCommandLineArguments(commandLine => { }); }, app => { app.UseEmbeddedFileResource("http", "www.app.local", "wwwroot"); app.UseDataServiceResource("http", "api.app.local"); //app.UseDebuggingMode(); app.UseMainWindow(context => new MainWindow()); }).Build().Run(); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Form1()); WinFormium.CreateRuntimeBuilder(env => { env.CustomCefSettings(settings => { // 在此处设置 CEF 的相关参数 }); env.CustomCefCommandLineArguments(commandLine => { // 在此处指定 CEF 命令行参数 }); }, app => { //注册嵌入ZIP程序集资源处理器 app.UseZippedResource("http", "archive.app.local", () => new MemoryStream(Properties.Resources.dist)); // 指定启动窗体 app.UseMainWindow(context => new MainWindow()); }) .Build() .Run(); }
static void Main() { #if NETCOREAPP3_1_OR_GREATER Application.SetHighDpiMode(HighDpiMode.PerMonitorV2); #endif Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); WinFormium.CreateRuntimeBuilder(env => { env.CustomCefSettings(settings => { }); env.CustomCefCommandLineArguments(commandLine => { }); }, app => { app.UseDebuggingMode(); app.UseMainWindow(context => new MainWindow()); }).Build().Run(); }
static void Main() { #if NETCOREAPP3_1_OR_GREATER Application.SetHighDpiMode(HighDpiMode.PerMonitorV2); #endif WinFormium.CreateRuntimeBuilder(env => { // You should do some initializing staffs of Cef Environment in this function. env.CustomCefCommandLineArguments(cmdLine => { // Configure command line arguments of Cef here. //cmdLine.AppendSwitch("disable-gpu"); //cmdLine.AppendSwitch("disable-gpu-compositing"); }); env.CustomCefSettings(settings => { // Configure default Cef settings here. settings.WindowlessRenderingEnabled = true; }); env.CustomDefaultBrowserSettings(cefSettings => { // Configure default browser settings here. }); }, app => { // You can configure your application settings of NanUI here. #if DEBUG // Use this setting if your application running in DEBUG mode, it will allow user to open or clode DevTools by right-clicking mouse button and selecting menu items on context menu. //app.UseDebuggingMode(); #endif // Use this setting if you want only one instance can be run. app.UseSingleInstance(() => { MessageBox.Show("Instance has already run, only one instance can be run.", "Single Instance", MessageBoxButtons.OK, MessageBoxIcon.Warning); }); // Register JavaScript Extension by using this method. More info about JavaScript Extension please see the JavaScript Extension chapter in documentation of NanUI. app.RegisterJavaScriptExtension(() => new DemoWindowJavaScriptExtension()); // Clear all cached files such as cookies, histories, localstorages, etc. app.ClearCacheFile(); app.UseEmbeddedFileResource("http", "main.app.local", "wwwroot"); // Register LocalFileResource handler which can handle the file resources in local folder. app.UseLocalFileResource("http", "static.app.local", System.IO.Path.Combine(Application.StartupPath, "LocalFiles")); // Register UseZippedResource handler which can handle the resources zipped in archives. // Use the following method to load zip file in Resource file of current assembly. app.UseZippedResource("http", "acrylic.example.local", () => new System.IO.MemoryStream(Properties.Resources.AcrylicDemoResource)); // Or use the code below to load zip file from disk. app.UseZippedResource("http", "layered.example.local", System.IO.Path.Combine(Application.StartupPath, "LayeredDemoResource.zip")); // Register DataServiceResource handler which can process http request and return data to response. // It will find all DataServices in current assembly automatically or you can indicate where to find the DataServices by using the third parameter. app.UseDataServiceResource("https", "api.app.local");; // Set a main window class inherit Formium here to start appliation message loop. app.UseMainWindow(context => { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // You should return a Formium instatnce here or you can use context.MainForm property to set a Form which does not inherit Formium. // context.MainForm = new Form(); return(new MainForm()); }); // If your application doesn't have a main window such as VSTO applicaitons, you could use this to initialize NanUI and CEF. //app.UseApplicationContext(() => new ApplicationContext()); }) // Build the NanUI runtime .Build() // Run the main process .Run(); }
static void Main(string[] args) { #if NETCOREAPP3_1 || NET5_0 Application.SetHighDpiMode(HighDpiMode.PerMonitorV2); #endif //bool createNew; //using (System.Threading.Mutex m = new System.Threading.Mutex(true, Application.ProductName, out createNew)) //{ // if (!createNew) // { // MessageBox.Show("只能运行一个实例!"); // return; // } //} //MessageBox.Show("只能运行一个实例!"); Application.ThreadException -= new ThreadExceptionEventHandler(Application_ThreadException); Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException); Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); AppDomain.CurrentDomain.UnhandledException -= new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); //MainForm mfrm = null; WinFormium.CreateRuntimeBuilder(env => { // You should do some initializing staffs of Cef Environment in this function. env.CustomCefCommandLineArguments(cmdLine => { // // Configure command line arguments of Cef here. // //cmdLine.AppendSwitch("disable-gpu"); // //cmdLine.AppendSwitch("disable-gpu-compositing"); //cmdLine.AppendSwitch("disable-web-security"); //cmdLine.AppendSwitch("unsafely-treat-insecure-origin-as-secure", Wnconfig.GetUrl()); //cmdLine.AppendSwitch("enable-media-stream", "1"); // //cmdLine.AppendSwitch("disable-gpu-watchdog"); // //cmdLine.AppendSwitch("disable-gpu-shader-disk-cache"); // //cmdLine.AppendSwitch("no-crash-upload"); // //cmdLine.AppendSwitch("disable-breakpad"); // //--disk-cache-size=xxx // //cmdLine.AppendSwitch("disk-cache-size", "1"); // //if (!Environment.Is64BitProcess) // //{ // // //MessageBox.Show("设置内存"); // // cmdLine.AppendArgument("max-old-space-size=1000"); // // } cmdLine.AppendSwitch("ignore-certificate-errors"); cmdLine.AppendSwitch("disable-web-security"); cmdLine.AppendSwitch("unsafely-treat-insecure-origin-as-secure", Wnconfig.GetUrl()); //args.AppendSwitch("enable-media-stream"); cmdLine.AppendSwitch("enable-media-stream", "1"); cmdLine.AppendSwitch("enable-print-preview"); cmdLine.AppendSwitch("autoplay-policy", "no-user-gesture-required"); cmdLine.AppendSwitch("--disable-web-security", "1"); //关闭同源策略,允许跨域 cmdLine.AppendSwitch("--disable-site-isolation-trials", "1"); //关闭站点隔离策略,允许跨域 cmdLine.AppendSwitch("disable-web-security", "1"); //关闭同源策略,允许跨域 cmdLine.AppendSwitch("disable-site-isolation-trials", "1"); //关闭站点隔离策略,允许跨域 }); env.CustomCefSettings(settings => { //MessageBox.Show(settings.CachePath); // Configure default Cef settings here. //settings.WindowlessRenderingEnabled = true; //settings. //settings.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"; }); env.CustomDefaultBrowserSettings(cefSettings => { cefSettings.ApplicationCache = Xilium.CefGlue.CefState.Disabled; //cefSettings.ApplicationCache= Xilium.CefGlue.CefState.Disabled; // cefSettings.WebSecurity = Xilium.CefGlue.CefState.Disabled; // Configure default browser settings here. }); }, app => { #if DEBUG // Use this setting if your application running in DEBUG mode, it will allow user to open or clode DevTools by right-clicking mouse button and selecting menu items on context menu. //app.UseDebuggingMode(); #endif app.UseLocalFileResource("http", "demo.app.local", "asserts"); app.RegisterJavaScriptExtension(() => new WinningBrowerWindowExtension()); // Clear all cached files such as cookies, histories, localstorages, etc. if (args != null && args.Length > 0 && args[0] == "DeleteCache") { //RunServiceProxy.InvokProxy(); app.ClearCacheFile(); } Thread.Sleep(600); //var thisProcess = Process.GetCurrentProcess(); //if (Process.GetProcessesByName(thisProcess.ProcessName).Length == 1) //{ // if (Process.GetProcessesByName(thisProcess.ProcessName)[0].Id != thisProcess.Id) // { // Process.GetProcessesByName(thisProcess.ProcessName)[0].Kill(); // } //} app.UseSingleInstance(() => { //MessageBox.Show("只能运行一个程序"); RunServiceProxy.SetWebAppFrmFront(); return; }); // Set a main window class inherit Formium here to start appliation message loop. app.UseMainWindow(context => { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); ShortCutHelper.SetWinningBrowerShortcut(Wnconfig.GetShortName(), Application.ExecutablePath); // context.MainForm = new Form(); //Xilium.CefGlue.CefRuntime.AddCrossOriginWhitelistEntry("*", "http", "*", true); //mfrm= new MainForm(); TaskCompletionSource <object> source = new TaskCompletionSource <object>(); Thread thread = new Thread(() => { try { RunServiceProxy.InvokProxy(); source.SetResult("启动成功"); } catch (Exception ex) { source.SetException(ex); } }); //thread.SetApartmentState(ApartmentState.STA); thread.Start(); AutoUpdate(); return(new MainForm()); }); }) // Build the NanUI runtime .Build() // Run the main process .Run(); }