Eliminates the requirements for .Net 4.5.2, the application exe is used as the browsersubprocess. Additional manual import of CefSharp.BrowserSubProcess.Core is required see csproj file for example TODO: OffScreen version is crashing on exit so it's been updated, it just isn't using itself as the BrowserSubProcess
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using CefSharp.Wpf;
 | |
| using System;
 | |
| using System.IO;
 | |
| 
 | |
| namespace CefSharp.MinimalExample.Wpf
 | |
| {
 | |
|     public static class Program
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Application Entry Point.
 | |
|         /// </summary>
 | |
|         [STAThread]
 | |
|         public static int Main(string[] args)
 | |
|         {
 | |
|             //For Windows 7 and above, app.manifest entries will take precedences of this call
 | |
|             Cef.EnableHighDPISupport();
 | |
| 
 | |
|             //We are using our current exe as the BrowserSubProcess
 | |
|             //Multiple instances will be spawned to handle all the 
 | |
|             //Chromium proceses, render, gpu, network, plugin, etc.
 | |
|             var subProcessExe = new CefSharp.BrowserSubprocess.BrowserSubprocessExecutable();
 | |
|             var result = subProcessExe.Main(args);
 | |
|             if (result > 0)
 | |
|             {
 | |
|                 return result;
 | |
|             }
 | |
| 
 | |
|             //We use our current exe as the BrowserSubProcess
 | |
|             var exePath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
 | |
| 
 | |
|             var settings = new CefSettings()
 | |
|             {
 | |
|                 //By default CefSharp will use an in-memory cache, you need to specify a Cache Folder to persist data
 | |
|                 CachePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "CefSharp\\Cache"),
 | |
|                 BrowserSubprocessPath = exePath
 | |
|             };
 | |
| 
 | |
|             //Example of setting a command line argument
 | |
|             //Enables WebRTC
 | |
|             settings.CefCommandLineArgs.Add("enable-media-stream");
 | |
| 
 | |
|             //Perform dependency check to make sure all relevant resources are in our output directory.
 | |
|             Cef.Initialize(settings, performDependencyCheck: true, browserProcessHandler: null);
 | |
| 
 | |
|             var app = new App();
 | |
|             app.InitializeComponent();
 | |
|             return app.Run();
 | |
|         }
 | |
|     }
 | |
| } |