윈폼 응용 프로그램에서 C # CefSharp를 사용하는 방법

최근 작은 기능, 나는, 당신은 일반 응용 프로그램을 열 수 있지만 응용 프로그램이 I 바이, 상기 IIS 권한 문제, 위의 IIS를 실행하도록 배치 될 수 없으며, 대 디버그를 사용하여 위의 페이지에서 응용 프로그램을 실행했다 그것을하는 이유에 따라, 어떻게 좌절 확인하지 않습니다. 마지막 보스는 CefSharp B 형 / 사이트에 포함 된 S, 두 용액을, 제 1의 일회용 B / s의 변화가 C / s, 제 주었다. B / s의 웹 사이트는 CefSharp를 사용, 토큰 제스처를 수행하고있다.

다음의 CefSharp를 사용하는 단계는 다음과 같습니다

 1. 기본 윈폼 응용 프로그램을 만들고 CefSharp는 NuGet 패키지를 사용하여 추가 할 수 있습니다.

    생성하기 전에 컴퓨터가 설치되어 있는지 확인하십시오 CefSharp 45.0 이후 VC 2013 재배포 가능 패키지 86을 설치해야 이전 버전의 VC 2012 재배포 가능 패키지 86이 필요합니다. 그렇지 않은 경우, 다음과 같은 오류가보고됩니다.

  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 변경 구성 플랫폼 (86, 64, 또는 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"라는 자바 스크립트 객체를 등록 : 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
{
   공용 클래스 FormProcess
    {
        // 메인 스레드에서 여기에서 일을 실행하기 위해 크롬과 기본 폼의 로컬 인스턴스를 선언
        개인 정적 ChromiumWebBrowser _instanceBrowser = NULL;
        // 폼 클래스 너의에 따라 변경 될 필요가
        개인 정적 Form1에 _instanceMainForm = NULL;
        
        공개 FormProcess (ChromiumWebBrowser originalBrowser Form1에 mainForm)
        {
            _instanceBrowser = originalBrowser;
            _instanceMainForm = mainForm;
        }

        공공 무효 opencmd (문자열 파일 경로)
        {
              
                문자열 파일 = @ ""+적인 filePath;
                = 새로운 ProcessStartInfo를 (파일)을 시작 ProcessStartInfo를;
                Process.Start를 (시작);
        }

       
    }
}
코드를 복사

마지막으로 웹 페이지를 기억하자

<버튼 클래스 = " BTN-차 btn을 " onclick을 = " FormProcess.opencmd ( 'C : // 프로그램 파일 (86) // 구글은 // 크롬 // 응용 프로그램 // chrome.exe의'); " > 열기 </ 버튼 >

 참고 URL : HTTP : //www.libs.org.cn/index.php m = 내용 & C = 인덱스 & A = 쇼 & CATID = 90 & ID = 129? 

 

출처 : https://www.cnblogs.com/shimiyan/p/6932073.html

최근 작은 기능, 나는, 당신은 일반 응용 프로그램을 열 수 있지만 응용 프로그램이 I 바이, 상기 IIS 권한 문제, 위의 IIS를 실행하도록 배치 될 수 없으며, 대 디버그를 사용하여 위의 페이지에서 응용 프로그램을 실행했다 그것을하는 이유에 따라, 어떻게 좌절 확인하지 않습니다. 마지막 보스는 CefSharp B 형 / 사이트에 포함 된 S, 두 용액을, 제 1의 일회용 B / s의 변화가 C / s, 제 주었다. B / s의 웹 사이트는 CefSharp를 사용, 토큰 제스처를 수행하고있다.

다음의 CefSharp를 사용하는 단계는 다음과 같습니다

 1. 기본 윈폼 응용 프로그램을 만들고 CefSharp는 NuGet 패키지를 사용하여 추가 할 수 있습니다.

    생성하기 전에 컴퓨터가 설치되어 있는지 확인하십시오 CefSharp 45.0 이후 VC 2013 재배포 가능 패키지 86을 설치해야 이전 버전의 VC 2012 재배포 가능 패키지 86이 필요합니다. 그렇지 않은 경우, 다음과 같은 오류가보고됩니다.

  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 변경 구성 플랫폼 (86, 64, 또는 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"라는 자바 스크립트 객체를 등록 : 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
{
   공용 클래스 FormProcess
    {
        // 메인 스레드에서 여기에서 일을 실행하기 위해 크롬과 기본 폼의 로컬 인스턴스를 선언
        개인 정적 ChromiumWebBrowser _instanceBrowser = NULL;
        // 폼 클래스 너의에 따라 변경 될 필요가
        개인 정적 Form1에 _instanceMainForm = NULL;
        
        공개 FormProcess (ChromiumWebBrowser originalBrowser Form1에 mainForm)
        {
            _instanceBrowser = originalBrowser;
            _instanceMainForm = mainForm;
        }

        공공 무효 opencmd (문자열 파일 경로)
        {
              
                문자열 파일 = @ ""+적인 filePath;
                = 새로운 ProcessStartInfo를 (파일)을 시작 ProcessStartInfo를;
                Process.Start를 (시작);
        }

       
    }
}
코드를 복사

마지막으로 웹 페이지를 기억하자

<버튼 클래스 = " BTN-차 btn을 " onclick을 = " FormProcess.opencmd ( 'C : // 프로그램 파일 (86) // 구글은 // 크롬 // 응용 프로그램 // chrome.exe의'); " > 열기 </ 버튼 >

 참고 URL : HTTP : //www.libs.org.cn/index.php m = 내용 & C = 인덱스 & A = 쇼 & CATID = 90 & ID = 129? 

추천

출처www.cnblogs.com/mq0036/p/11059648.html