WinFormsアプリケーションでC#CefSharpの使い方

最近、私は、私Baiduの、言ったIISのアクセス許可の問題、あなたは通常のアプリケーションを開くことができますが、アプリケーションは上記のIISで実行するように配置することができない、対デバッグを使用し、上記のページでアプリケーションを開き、小さな機能をしましたそれを行うための理由に基づいて、どのようにイライラすることはOKではありません。最後にボスは、2つの解決策は、まず、使い捨てのB / Sの変化C / S、秒を与え、CefSharp bに/サイトに埋め込まsです。B / Sのウェブサイトは、トークンジェスチャーを行っている、それはCefSharpを使用します。

ここでのCefSharpを使用するための手順は次のとおりです。

 1.基本的なWinformsのアプリケーションを作成し、NuGetパッケージを使用CefSharpを追加します。

    あなたが作成する前に、コンピュータがインストールされていることを確認します CefSharp 45.0以降VC 2013再頒布可能パッケージのx86をインストールする必要があり、それ以前のバージョンでは、VC 2012再頒布可能パッケージのx86が必要です。ない場合は、次のエラーが報告されます。

  An unhandled exception of type 'System.IO.FileNotFoundException' occurred in browser.exe Additional information: Could not load file or assembly 'CefSharp.Core.dll' or one of its dependencies.

    (型または名前空間名「Cefsharp」を見つけることができません:通常の勧告を完全に閉じVS、CefSharpの最新バージョンをインストールし、再度それをオンにするか、エラーが発生することがあり(これはあなたの引用の表示、および完全なインテリセンスがあることを保証します)あなたがusingディレクティブまたはアセンブリ参照が不足していますか?)

2変更設定プラットフォーム(のx86、x64の、またはAnyCPU)

   私が使用CefSharpのバージョンは、設定を変更するので、51以上です。

   まず、あなたのプロジェクト-name.csprojファイルを検索し、最初の<PropertyGroup>ノードに追加しました:

     <CefSharpAnyCpuSupport>true</CefSharpAnyCpuSupport>

   その後、app.configファイルを変更します。

     <runtime>

    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="x86"/>
    </assemblyBinding>
 </runtime>
3 cefsharpがインストールされ、構成されている、あなたは今、コードを書くことができます。
  これはwinfromコードです
コードをコピー
使用してSystem.Textのを。
使用してSystem.Threading.Tasksを。
使用してのSystem.Windows.Formsを。
使用してCefSharpを。
使用してCefSharp.WinFormsを。
使用System.Configurationを。

名前空間VR.Winfrom 
{ 
    パブリック 部分 クラスをForm1:フォーム
    { 
        公共ChromiumWebBrowser chromeBrowser。

        公共のForm1()
        { 
            のInitializeComponent(); 
            この .WindowState = FormWindowState.Maximized。
            InitializeChromium(); 
            //CefCustomObjectクラスの機能と"cefCustomObject"というJavaScriptでオブジェクトを登録します。3 
            chromeBrowser.RegisterJsObject(" formProcess " FormProcess(chromeBrowser、この)); 
        } 

        公共 ボイドInitializeChromium()
        { 
            CefSettings設定 = 新しいCefSettings()。
            // 提供設定でCEFを初期化
            Cef.Initialize(設定)。
            // ブラウザコンポーネントを作成し
            、文字列のURL = ConfigurationManager.AppSettings [ " URLを" ]; 
            chromeBrowser = 新しいChromiumWebBrowser(URL); 

            // フォームに追加し、フォームウィンドウにそれを埋める。
            この.Controls.Add(chromeBrowser); 
            chromeBrowser.Dock = DockStyle.Fill; 

            //は、ローカルの使用を許可しますブラウザ内のリソース 
            = BrowserSettings browserSettings 新しいBrowserSettings(); 
            browserSettings.FileAccessFromFileUrls = CefState.Enabled; 
            browserSettings.UniversalAccessFromFileUrls = CefState.Enabled; 
            browserSettings.WebSecurity =CefState.Enabled; 
            chromeBrowser.BrowserSettings = browserSettings。
        } 

        プライベート ボイド Form1_FormClosing(オブジェクト送信者、FormClosingEventArgs E)
        { 
            Cef.Shutdown()。
        } 
    } 
}
コードをコピー
これは、アプリケーションのコードの実行であります
コードをコピー
たSystem.Diagnosticsを使用しました。
CefSharp.WinFormsを使用しました。
VR.DALを使用しました。
システムを使用しました。

名前空間VR.Winfrom
{
   publicクラスFormProcess
    {
        //メインスレッドで、ここから物事を実行するために、クロムとメインフォームのローカルインスタンスを宣言
        プライベート静的ChromiumWebBrowser _instanceBrowser = NULL;
        //フォームクラスはあなたに応じて変更する必要がある
        プライベート静的Form1の_instanceMainForm = NULL;
        
        公共FormProcess(ChromiumWebBrowser originalBrowserは、Form1のMainForm)
        {
            _instanceBrowser = originalBrowser。
            _instanceMainForm = MainFormを。
        }

        公共ボイドopencmd(文字列filePathに)
        {
              
                文字列ファイル= @ "" + filePathに。
                =新しいProcessStartInfo(ファイル)を起動ProcessStartInfo。
                Process.Start(スタート)。
        }

       
    }
}
コードをコピー

最後のWebページを思い出してください

<ボタンクラス = " BTN BTN-主" onclickの= " FormProcess.opencmd( 'C://プログラムファイル(x86の)//グーグルクローム// //アプリケーション// chrome.exe'); " >開く</ボタン>

 参考URL:のhttp://www.libs.org.cn/index.phpメートル=コンテンツ&C =インデックス&A =ショー&CATID = 90&ID = 129? 

 

出典:https://www.cnblogs.com/shimiyan/p/6932073.html

最近、私は、私Baiduの、言ったIISのアクセス許可の問題、あなたは通常のアプリケーションを開くことができますが、アプリケーションは上記のIISで実行するように配置することができない、対デバッグを使用し、上記のページでアプリケーションを開き、小さな機能をしましたそれを行うための理由に基づいて、どのようにイライラすることはOKではありません。最後にボスは、2つの解決策は、まず、使い捨てのB / Sの変化C / S、秒を与え、CefSharp bに/サイトに埋め込まsです。B / Sのウェブサイトは、トークンジェスチャーを行っている、それはCefSharpを使用します。

ここでのCefSharpを使用するための手順は次のとおりです。

 1.基本的なWinformsのアプリケーションを作成し、NuGetパッケージを使用CefSharpを追加します。

    あなたが作成する前に、コンピュータがインストールされていることを確認します CefSharp 45.0以降VC 2013再頒布可能パッケージのx86をインストールする必要があり、それ以前のバージョンでは、VC 2012再頒布可能パッケージのx86が必要です。ない場合は、次のエラーが報告されます。

  An unhandled exception of type 'System.IO.FileNotFoundException' occurred in browser.exe Additional information: Could not load file or assembly 'CefSharp.Core.dll' or one of its dependencies.

    (型または名前空間名「Cefsharp」を見つけることができません:通常の勧告を完全に閉じVS、CefSharpの最新バージョンをインストールし、再度それをオンにするか、エラーが発生することがあり(これはあなたの引用の表示、および完全なインテリセンスがあることを保証します)あなたがusingディレクティブまたはアセンブリ参照が不足していますか?)

2変更設定プラットフォーム(のx86、x64の、またはAnyCPU)

   私が使用CefSharpのバージョンは、設定を変更するので、51以上です。

   まず、あなたのプロジェクト-name.csprojファイルを検索し、最初の<PropertyGroup>ノードに追加しました:

     <CefSharpAnyCpuSupport>true</CefSharpAnyCpuSupport>

   その後、app.configファイルを変更します。

     <runtime>

    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="x86"/>
    </assemblyBinding>
 </runtime>
3 cefsharpがインストールされ、構成されている、あなたは今、コードを書くことができます。
  これはwinfromコードです
コードをコピー
使用してSystem.Textのを。
使用してSystem.Threading.Tasksを。
使用してのSystem.Windows.Formsを。
使用してCefSharpを。
使用してCefSharp.WinFormsを。
使用System.Configurationを。

名前空間VR.Winfrom 
{ 
    パブリック 部分 クラスをForm1:フォーム
    { 
        公共ChromiumWebBrowser chromeBrowser。

        公共のForm1()
        { 
            のInitializeComponent(); 
            この .WindowState = FormWindowState.Maximized。
            InitializeChromium(); 
            //CefCustomObjectクラスの機能と"cefCustomObject"というJavaScriptでオブジェクトを登録します。3 
            chromeBrowser.RegisterJsObject(" formProcess " FormProcess(chromeBrowser、この)); 
        } 

        公共 ボイドInitializeChromium()
        { 
            CefSettings設定 = 新しいCefSettings()。
            // 提供設定でCEFを初期化
            Cef.Initialize(設定)。
            // ブラウザコンポーネントを作成し
            、文字列のURL = ConfigurationManager.AppSettings [ " URLを" ]; 
            chromeBrowser = 新しいChromiumWebBrowser(URL); 

            // フォームに追加し、フォームウィンドウにそれを埋める。
            この.Controls.Add(chromeBrowser); 
            chromeBrowser.Dock = DockStyle.Fill; 

            //は、ローカルの使用を許可しますブラウザ内のリソース 
            = BrowserSettings browserSettings 新しいBrowserSettings(); 
            browserSettings.FileAccessFromFileUrls = CefState.Enabled; 
            browserSettings.UniversalAccessFromFileUrls = CefState.Enabled; 
            browserSettings.WebSecurity =CefState.Enabled; 
            chromeBrowser.BrowserSettings = browserSettings。
        } 

        プライベート ボイド Form1_FormClosing(オブジェクト送信者、FormClosingEventArgs E)
        { 
            Cef.Shutdown()。
        } 
    } 
}
コードをコピー
これは、アプリケーションのコードの実行であります
コードをコピー
たSystem.Diagnosticsを使用しました。
CefSharp.WinFormsを使用しました。
VR.DALを使用しました。
システムを使用しました。

名前空間VR.Winfrom
{
   publicクラスFormProcess
    {
        //メインスレッドで、ここから物事を実行するために、クロムとメインフォームのローカルインスタンスを宣言
        プライベート静的ChromiumWebBrowser _instanceBrowser = NULL;
        //フォームクラスはあなたに応じて変更する必要がある
        プライベート静的Form1の_instanceMainForm = NULL;
        
        公共FormProcess(ChromiumWebBrowser originalBrowserは、Form1のMainForm)
        {
            _instanceBrowser = originalBrowser。
            _instanceMainForm = MainFormを。
        }

        公共ボイドopencmd(文字列filePathに)
        {
              
                文字列ファイル= @ "" + filePathに。
                =新しいProcessStartInfo(ファイル)を起動ProcessStartInfo。
                Process.Start(スタート)。
        }

       
    }
}
コードをコピー

最後のWebページを思い出してください

<ボタンクラス = " BTN BTN-主" onclickの= " FormProcess.opencmd( 'C://プログラムファイル(x86の)//グーグルクローム// //アプリケーション// chrome.exe'); " >開く</ボタン>

 参考URL:のhttp://www.libs.org.cn/index.phpメートル=コンテンツ&C =インデックス&A =ショー&CATID = 90&ID = 129? 

おすすめ

転載: www.cnblogs.com/mq0036/p/11059648.html