0

我需要获得一个聚焦的输入点(插入符号位置、窗口/控件)。我的应用程序/服务需要检测用户何时开始输入,然后将输入的字符替换为预定值。诀窍是我不知道用户想在哪里输入(我不想将其限制为几个应用程序)。

我认为我知道如何使用以下方法获取/替换文本:

[DllImport("USER32.DLL", CharSet = CharSet.Auto)]
public static extern IntPtr SendMessage(IntPtr hWnd, uint msg, IntPtr wparam, StringBuilder text);

如何获得集中的控件?我怎么知道从哪里获取文本以及从哪里发送替换?

我在 C#,WPF 中这样做。

谢谢!

4

2 回答 2

2

如果您只想模拟键盘活动,您可以使用keybd_eventor SendInput。这些会自动将按键传递到具有焦点的窗口,因此您不必自己检测它。

于 2011-12-31T03:36:33.607 回答
1

我假设由于您已将问题标记为 WinAPI ,因此您正试图拦截来自另一个应用程序的击键,例如 Keyboard Hooking。看看这些链接:

于 2011-12-31T03:36:12.380 回答