C# 如何在WPF中模拟击键,但在应用程序之外?
目前我使用这个剪贴代码是谷歌搜索的结果 如果我使用Keyboard.Focus(TxtBox),它会工作;TxtBox将充满击键 但我真正想要实现的是:C# 如何在WPF中模拟击键,但在应用程序之外?,c#,wpf,keyboard-events,C#,Wpf,Keyboard Events,目前我使用这个剪贴代码是谷歌搜索的结果 如果我使用Keyboard.Focus(TxtBox),它会工作;TxtBox将充满击键 但我真正想要实现的是: 1.绘制方框(例如,我在excel单元格之一上绘制方框) 2.单击方框坐标(更改键盘焦点) 3.向单击的excel单元格发送击键 我已经完成了第一步和第二步。 但是我找不到第三步的方法 不知何故,单击事件(使用鼠标事件)可能不会自动更改键盘焦点 那么,如果可能的话,如何使用坐标来改变键盘焦点呢? 或者我可以从坐标中得到IIInputElem
- 1.绘制方框(例如,我在excel单元格之一上绘制方框)
- 2.单击方框坐标(更改键盘焦点)
- 3.向单击的excel单元格发送击键
希望它对其他人有所帮助,寻找同样的东西。将击键添加到另一个当时具有焦点的控件,然后只更新目标的文本?@mahlatse我不这么认为。我的目标在wpf应用程序窗口之外。在我的示例中,它是excel单元格。如何更新excel文本?如果它是excel单元格,并且您知道单元格/网格,您可以使用第三方库(如EPPLUS)通过加载来更新excel,只是不确定您是否会重新加载excel文件。@mahlatse谢谢您的想法。但这里的excel只是一个简单解释我试图实现的目标的例子。但它不会是一个excel单元格。它应该是任何可以通过文本输入的内容。如记事本、搜索栏等。如果它是您创建的,那么它就更简单,如果它是您无法控制的,您可能需要做一些神奇的开发[假设它们允许命令行参数,等等]将击键添加到另一个当时具有焦点的控件,然后只更新目标的文本?@mahlatse我不这么认为。我的目标在wpf应用程序窗口之外。在我的示例中,它是excel单元格。如何更新excel文本?如果它是excel单元格,并且您知道单元格/网格,您可以使用第三方库(如EPPLUS)通过加载来更新excel,只是不确定您是否会重新加载excel文件。@mahlatse谢谢您的想法。但这里的excel只是一个简单解释我试图实现的目标的例子。但它不会是一个excel单元格。它应该是任何可以通过文本输入的内容。如记事本、搜索栏等。如果它是您创建的,那么它就更简单,如果它是您无法控制的,您可能需要做一些神奇的开发[假设它们允许命令行参数,等等]
var eventArgs = new TextCompositionEventArgs(Keyboard.PrimaryDevice,
new TextComposition(InputManager.Current, Keyboard.FocusedElement, "A"));
eventArgs.RoutedEvent = TextInputEvent;
var flag = InputManager.Current.ProcessInput(eventArgs);