Winforms Webブラウザコントロールでスペルチェックの作業をしようとしています。WebブラウザコントロールのスペルチェックがIE11エミュレーションで機能しない
これが私の現在のC#のコードです:
try
{
String appname = Process.GetCurrentProcess().ProcessName + ".exe";
RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION", RegistryKeyPermissionCheck.ReadWriteSubTree);
object ieVal = key.GetValue(appname, null);
MessageBox.Show(ieVal.ToString());
if (ieVal == null || (int)ieVal != 11001)
{
key.SetValue(appname, 11001, RegistryValueKind.DWord);
}
key.Close();
}
catch
{
MessageBox.Show("Registry stuff didn't work");
}
MessageBox.Show(webBrowser1.Version.ToString());
webBrowser1.DocumentText = "<html><head><body><div spellcheck=\"true\" style=\"width:100%; height:100%;\" contenteditable=\"true\"></div>"
+"<script>alert(navigator.userAgent);</script>"
+"</body></html>";
ブラウザは、その後、私はtrueに設定スペルチェック属性を持つdivタグを追加IE11
をエミュレートするように、したがって、最初、私は適切なレジストリキーを設定します。
あるMessageBox.Show(webBrowser1.Version.ToString())
ショーバージョン:
11.0.9600.18525
navigator.userAgent
Javascriptが表示されることがある:
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
WebブラウザコントロールはIE11を使っているようなので、それはそう。しかし、スペルチェックを入力すると機能しません。
注:実際のIEでこのHTMLコードを実行すると、すべて正常に動作します。
また、実際のブラウザ上に表示navigator.userAgent
は次のとおりです。
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko
注2:私は、Windows 10マシンスペルチェックの作品に自分のアプリケーションを実行すると。しかし、私はそれをWindows 7マシンで動作させる必要があります。
spellchek?面白い! – TaW