Имитация ввода иностранного языка в DotNetBrowser - PullRequest
0 голосов
/ 06 октября 2019

DotNetBrowser поддерживает моделирование ввода, но я не могу найти способ сделать это для иностранных языков. Следующий код работает для английского языка. Любая идея, как использовать VirtualKeyCode с неанглийскими символами?

// Press TAB key to set focus to text field.
KeyParams paramers = new KeyParams(VirtualKeyCode.TAB, ' ');
browser.KeyDown(paramers);
browser.KeyUp(paramers);

// Type 'Hello' text in the focused text field.
paramers = new KeyParams(VirtualKeyCode.VK_H, 'H');
browser.KeyDown(paramers);
browser.KeyUp(paramers);

paramers = new KeyParams(VirtualKeyCode.VK_E, 'e');
browser.KeyDown(paramers);
browser.KeyUp(paramers);

paramers = new KeyParams(VirtualKeyCode.VK_L, 'l');
browser.KeyDown(paramers);
browser.KeyUp(paramers);

paramers = new KeyParams(VirtualKeyCode.VK_L, 'l');
browser.KeyDown(paramers);
browser.KeyUp(paramers);

paramers = new KeyParams(VirtualKeyCode.VK_O, 'o');
browser.KeyDown(paramers);
browser.KeyUp(paramers);

1 Ответ

0 голосов
/ 06 октября 2019

Я нашел решение. текст - это строка.

var stringSplit = text.Split(' ');
            for (int i = 0; i < stringSplit.Length; i++)
            {
                var characters = stringSplit[i].ToCharArray();
                foreach (var character in characters)
                {
                    var keyParams = new KeyParams(VirtualKeyCode.NONAME, character);
                    browser.KeyDown(keyParams);
                    browser.KeyUp(keyParams);
                }
                if (i < stringSplit.Length-1)
                {
                    var spaceKey = new KeyParams(VirtualKeyCode.SPACE, ' ');
                    browser.KeyDown(spaceKey);
                    browser.KeyUp(spaceKey);
                }
            }
...