關於CefSharp.WinForms的學習


前段時間,用CefSharp.WinForms寫了一個可以播放flash以及一些展示頁面的小程序,涉及到跨域訪問之類的問題。CefSharp.WinForms版本49.0.1。

剛開始挺順利,做到播放flash的時候各種黑屏,無法播放。先是回退32那個版本 用NPAPI解決的但是貌似32那個版本在客戶機各種 10分鍾后各種死程序,沒辦法只能硬着頭皮找方法解決。

最后設置讀取pepflashplayer.dll播放falsh 下面是我這個版本的配置代碼。

 //打開靜態地址
            string strMenu = System.Windows.Forms.Application.StartupPath;
            //pepflashplayerDLL 地址
            string flashPath = strMenu + "\\plugins\\pepflashplayer32_21_0_0_182.dll";
            CefSettings set = new CefSettings();
            set.CachePath = "cache";
            //開啟ppapi-flash
            set.CefCommandLineArgs["enable-system-flash"] = "1";
            set.CefCommandLineArgs.Add("ppapi-flash-version", "21.0.0.182");
            //插入地址
            set.CefCommandLineArgs.Add("ppapi-flash-path", flashPath);
            //啟用配置
            CefSharp.Cef.Initialize(set);

最后貼一個完整運行的代碼

 public FromIndex()
        {
            InitializeComponent();
            InitBrowser();
        }


        public void InitBrowser()
        {
            //打開靜態地址
            string strMenu = System.Windows.Forms.Application.StartupPath;
            //pepflashplayerDLL 地址
            string flashPath = strMenu + "\\plugins\\pepflashplayer32_21_0_0_182.dll";
            CefSettings set = new CefSettings();
            set.CachePath = "cache";
            //開啟ppapi-flash
            set.CefCommandLineArgs["enable-system-flash"] = "1";
            set.CefCommandLineArgs.Add("ppapi-flash-version", "21.0.0.182");
            //插入地址
            set.CefCommandLineArgs.Add("ppapi-flash-path", flashPath);
            //啟用配置
            CefSharp.Cef.Initialize(set);

           
            var htmlDidr = "\\Files\\LargeScreen\\index.htm";
            ChromiumWebBrowser browser = new ChromiumWebBrowser("");
            BrowserSettings bset = new BrowserSettings();
            bset.Plugins = CefState.Enabled;
            //關於跨域限制
            bset.WebSecurity = CefState.Disabled;
            browser.BrowserSettings = bset;
            //打開網頁
            browser.Load(strMenu + htmlDidr);
            //綁定JS
            browser.RegisterJsObject("callbackObj", new CallbackObjectForJs());
            this.Controls.Add(browser);
            browser.Dock = DockStyle.Fill;
            browser.Update();
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM