有必要编写一个接受任何文本形式的字符串的方法,结果应该将此文本写入任何输入字段,模拟键盘输入。
我最近问了一个类似的问题,但它是关于按特定的键盘键,其代码已经在表单中enum。这里我们讨论的是一般的任何字符——也就是说,应该模拟这样的文本的输入:“😀😃³⁸⁽⋜𝒲”等。
我试过的:
System.Windows.Forms.SendKeys.SendWait("😀😃³⁸⁽⋜𝒲");
这仅适用于应用程序中的输入字段,因为 Keyboard只关注两个 x。(从这里采取的解决方案)
var text = "😀😃³⁸⁽⋜𝒲";
var target = Keyboard.FocusedElement;
var routedEvent = TextCompositionManager.TextInputEvent;
target.RaiseEvent(
new TextCompositionEventArgs(
InputManager.Current.PrimaryKeyboardDevice,
new TextComposition(InputManager.Current, target, text))
{ RoutedEvent = routedEvent }
);
SendInput您可以根据上一个答案中的结构使用相同的输入来模拟输入。