解決cef載入flash時彈出黑框的問題

2021-08-07 06:50:19 字數 731 閱讀 2162

使用cef時,如果沒有使用sandbox,並且開啟了flash外掛程式,在第一次使用flash時會彈出個黑框。這是flash外掛程式的bug。目前找到三種解決辦法:

編譯程式時加入cef_sandbox.lib靜態庫,自然就不會出現黑框了。但是為了加入cef_sandbox.lib,有時候會很麻煩,比如:如何編譯出cef2623中的cef_sandbox.lib靜態庫,為了加入cef_sandbox.lib還需要修改一些專案配置,同時啟用沙盒後,在某些電腦中會導致子程序無法建立,需要自己另外做一些處理。總之就是使用沙盒很麻煩

使用hook的方法,攔截建立程序的api,阻止黑框(實際就是cmd程式)彈出,詳見:cef載入flash外掛程式時彈出cmd命令列視窗的問題

在群裡夏思暢大神今天告訴我的方法,直接在自己程式的目錄下建立乙個名為cmd.exe的程式就可以(可以直接新建個文字文件,改名為cmd.exe)。因為彈出黑框需要使用cmd程式,而系統搜尋程式是從程序當前的工作目錄開始查詢,所以直接這樣做可以攔截cmd的呼叫。這個方法最簡單,實用性最強!

為了程式更通用,可以在程式啟動時加**,在自己程式目錄建立dummy_cmd.exe,修改一下自己程序comspec環境變數(表示的就是cmd程式的路徑)的值:

cmd_path += l"\\dummy_cmd.exe"

; setenvironmentvariable(l"comspec", cmd_path.c_str());

cef載入flash的辦法

cef有2種載入flash外掛程式的方式,1,npapi,這種方式是呼叫系統自帶的flash外掛程式,由於有安全性方面的問題,已經被新版cef禁用。set.cefcommandlineargs.add ppapi flash path pepflashplayer.dll set.cefcomman...

去掉flash載入時的虛線框

在做 的時候,經常遇到這個問題,flash在ie裡面,必須先點 單擊以啟用此外掛程式 這麼麻煩的操作,我找了幾個方法,還是這個方法最使用,拿來和大家一起分享 首先新建乙個js檔案,檔名 ac runactivecontent.js 如下 程式 然後再應用頁面中head內加入 程式 在要插入flash...

解決Chrome瀏覽器無法載入flash外掛程式的問題

去網上查了下,有人說是64位和32位的相容問題,描述很模糊 沒有說明是作業系統和瀏覽器的相容問題,還是瀏覽器新舊版本的相容問題 但是由於我之前裝過64位版本的chrome,所以對該回答信以為真,於是解除安裝掉當前版本的chrome,清理所有與chrome和google有關的登錄檔,刪除所有與goog...