WPF - Отправьте возвращение ключей

Управляемая оболочка для документа HTML не полностью реализует функциональность, в которой Вы нуждаетесь, таким образом, необходимо опуститься в API MSHTML для выполнения то, что Вы хотите:

1) Добавляют ссылку на MSHTML, который, вероятно, назовут "Библиотекой объекта HTML Microsoft" под COM ссылки.

2) Добавляют 'использование mshtml'; к Вашим пространствам имен.

3) Получают ссылку на Ваш IHTMLElement элемента сценария:

IHTMLElement iScriptEl = (IHTMLElement)scriptEl.DomElement;

4) Вызов insertAdjacentText метод, с первым значением параметра "afterBegin". Все возможные значения перечислены здесь :

iScriptEl.insertAdjacentText("afterBegin", "function sayHello() { alert('hello') }");

5) Теперь Вы сможете видеть код в scriptEl. Свойство InnerText.

Hth, Richard

11
задан Anatoliy Nikolaev 20 February 2014 в 06:49
поделиться

2 ответа

Я имитирую то, что вы хорошо говорите, используя следующее, разве вы не это имеете в виду?

public Window1()
{
    InitializeComponent();


    Loaded += new RoutedEventHandler(Window1_Loaded);
}

void Window1_Loaded(object sender, RoutedEventArgs e)
{
    WebBrowser1_PreviewKeyDown(this, new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 1, Key.LeftShift));
    WebBrowser1_PreviewKeyDown(this, new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 1, Key.Tab));
}

private void WebBrowser1_PreviewKeyDown(object sender, KeyEventArgs e)
{
    System.Diagnostics.Debug.WriteLine(e.Key);
}

ВЫХОД:

LeftShift
Tab
0
ответ дан 3 December 2019 в 11:21
поделиться

Я создал небольшую библиотеку, которая, вероятно, поможет вам с издевательством над клавишей Shift:

http://wpfsendkeys.codeplex.com/

http: // blogs .msdn.com / b / kirillosenkov / archive / 2010/07/09 / wpf-sendkeys-or-mocking-the-keyboard-in-wpf.aspx

4
ответ дан 3 December 2019 в 11:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: