-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCefSharp.cs
More file actions
69 lines (55 loc) · 2.12 KB
/
Copy pathCefSharp.cs
File metadata and controls
69 lines (55 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using System;
using CefSharp;
using CefSharp.WinForms;
using System.IO;
using System.Reflection;
namespace Optimade
{
public class CefSharp
{
public ChromiumWebBrowser chromeBrowser;
//Activates when Javascript posts a message to CefSharp.
public event EventHandler<JavascriptMessageChangedArgs> JavascriptMessageChanged;
//Retrieves the Javascript message.
protected virtual void OnJavascriptMessage(JavascriptMessageChangedArgs e)
{
EventHandler<JavascriptMessageChangedArgs> handler = JavascriptMessageChanged;
handler?.Invoke(this, e);
}
//Contains the types of messages Javascript can send to CefSharp.
public enum Messages
{
Minimized,
Maximized,
Hidden,
Close
}
public CefSharp()
{
CefSettings settings = new CefSettings();
// Initialize cef with the provided settings
Cef.Initialize(settings);
// Create a browser component
string executablePath = Assembly.GetEntryAssembly().Location;
string executableDirectory = Path.GetDirectoryName(executablePath);
string htmlSite = "\\Resources\\Website\\Website.html";
string uriHTML = executableDirectory + htmlSite;
chromeBrowser = new ChromiumWebBrowser(uriHTML);
chromeBrowser.JavascriptMessageReceived += OnBrowserJavascriptMessageReceived;
}
//Loads the message into the event argument.
private void OnBrowserJavascriptMessageReceived(object sender, JavascriptMessageReceivedEventArgs e)
{
JavascriptMessageChangedArgs args = new JavascriptMessageChangedArgs();
//Gets the message and transforms it to the 'Messages' enum.
args.msg = (Messages)(int)e.Message;
OnJavascriptMessage(args);
}
}
//JavascriptMessageChanged arguments.
public class JavascriptMessageChangedArgs : EventArgs
{
//Gets the message sent by Javascript.
public CefSharp.Messages msg { get; set; }
}
}