Я искал пример того, как открыть процесс, например notepad.exe, из html-элемента с использованием WPF и Awesomium 1.7.5. Идея заключается в том, что щелчок по элементу html вызывает метод C# с использованием javascript, насколько я понимаю API Awesomium. Тем не менее, все примеры, которые я могу найти, относятся к более ранней версии, которая теперь использует устаревшие функции ...Запустите notepad.exe с помощью html-кнопки с помощью Awesomium
Может ли кто-нибудь указать мне, как выполнить C# -код при запуске openNotepad()?
HTML:
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<button onclick="app.openNotepad()">This button will open Notepad</button>
</body>
</html>
C#
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
webControl.Source = new Uri("index.html");
}
private void webControl_DocumentReady(object sender, DocumentReadyEventArgs e)
{
BindMethods(webControl);
}
private void BindMethods(IWebView _webView)
{
JSValue result = webControl.CreateGlobalJavascriptObject("app");
if (result.IsObject)
{
JSObject appObject = result;
appObject.Bind("openNotepad", openNotepad);
}
}
private JSValue openNotepad(object obj, JavascriptMethodEventArgs jsMethodArgs)
{
Process.Start("notepad.exe");
return null;
}
}
XAML:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:awe="http://schemas.awesomium.com/winfx" x:Class="Omega.MainWindow"
Title="Omega" Height="350" Width="525" WindowStartupLocation="CenterScreen" WindowState="Maximized" ResizeMode="NoResize" Topmost="True" WindowStyle="None">
<Grid>
<awe:WebControl x:Name="webControl" DocumentReady="webControl_DocumentReady" />
</Grid>
</Window>
как это? http://www.codeproject.com/Articles/113678/How-to-execute-a-Local-File-using-HTML-Application – Izikon
№ Awesomium основан на webkit, и только IE поддерживает ActiveXObject. Я обновил свой основной пост с текущим кодом C#. – NeoID
Ваш код на C# выглядит хорошо, и он должен работать по назначению. С какими проблемами вы столкнулись, что не так? Вы получаете исключение? –