using System; using System.Diagnostics; using CefSharp; using CefSharp.BrowserSubprocess; using TweetLib.Communication; namespace TweetDuck.Browser{ static class Program{ internal const string Version = "1.2.0.0"; private static int Main(string[] args){ SubProcess.EnableHighDPISupport(); const string typePrefix = "--type="; string type = Array.Find(args, arg => arg.StartsWith(typePrefix, StringComparison.OrdinalIgnoreCase)).Substring(typePrefix.Length); if (type == "renderer"){ using(RendererProcess subProcess = new RendererProcess(args)){ return subProcess.Run(); } } else return SubProcess.ExecuteProcess(); } private sealed class RendererProcess : SubProcess{ // ReSharper disable once ParameterTypeCanBeEnumerable.Local public RendererProcess(string[] args) : base(args){} public override void OnBrowserCreated(CefBrowserWrapper wrapper){ base.OnBrowserCreated(wrapper); using(Process me = Process.GetCurrentProcess()){ Comms.BroadcastMessage(Comms.RegisterMessage("TweetDuckSubProcess"), (uint)me.Id, wrapper.BrowserId); } } } } }