C#将密钥发送到其他应用程序的特定文本字段

C#将密钥发送到其他应用程序的特定文本字段,c#,windows,textbox,sendkeys,C#,Windows,Textbox,Sendkeys,我需要使用C#将其他应用程序的键发送到其他应用程序中的特定文本字段 可能吗?如果是,有人能给我示例代码吗?只将击键组合发送到活动窗口 因此,如果您的C#应用程序在正确的时间调用SendKeys函数,当用户关注其他应用程序的文本框时,一切都会正常工作 当然,问题是现实世界很少如此完美。您不知道用户何时会关注其他应用程序,当然也不知道他们是否单击了textbox控件。用户也无法告诉C#应用程序何时发送文本(例如单击按钮),因为要单击按钮,应用程序必须具有前景焦点,因此不是希望接收键盘输入的应用程序

我需要使用C#将其他应用程序的键发送到其他应用程序中的特定文本字段

可能吗?如果是,有人能给我示例代码吗?

只将击键组合发送到活动窗口

因此,如果您的C#应用程序在正确的时间调用
SendKeys
函数,当用户关注其他应用程序的文本框时,一切都会正常工作

当然,问题是现实世界很少如此完美。您不知道用户何时会关注其他应用程序,当然也不知道他们是否单击了textbox控件。用户也无法告诉C#应用程序何时发送文本(例如单击按钮),因为要单击按钮,应用程序必须具有前景焦点,因此不是希望接收键盘输入的应用程序

这只是一个简单的概述,当您尝试用这种方式实现UI自动化时,可能会遇到一些潜在的问题。这是非常脆弱的,很容易导致用户出现一些意外的、令人愤怒的行为。我强烈建议不要这样做。一个更好的选择是直接与其他应用程序通信,例如通过向其发送消息,而不是试图侵入性地控制其UI

如果您确实必须这样做,尽管所有建议都与此相反,最好的方法是获取要将文本发送到的窗口的句柄,然后发送一个。当然,这将要求您从Win32 API P/调用一些函数。有关一些示例代码,请参阅。

仅将击键组合发送到活动窗口

因此,如果您的C#应用程序在正确的时间调用
SendKeys
函数,当用户关注其他应用程序的文本框时,一切都会正常工作

当然,问题是现实世界很少如此完美。您不知道用户何时会关注其他应用程序,当然也不知道他们是否单击了textbox控件。用户也无法告诉C#应用程序何时发送文本(例如单击按钮),因为要单击按钮,应用程序必须具有前景焦点,因此不是希望接收键盘输入的应用程序

这只是一个简单的概述,当您尝试用这种方式实现UI自动化时,可能会遇到一些潜在的问题。这是非常脆弱的,很容易导致用户出现一些意外的、令人愤怒的行为。我强烈建议不要这样做。一个更好的选择是直接与其他应用程序通信,例如通过向其发送消息,而不是试图侵入性地控制其UI

如果您确实必须这样做,尽管所有建议都与此相反,最好的方法是获取要将文本发送到的窗口的句柄,然后发送一个。当然,这将要求您从Win32 API P/调用一些函数。有关示例代码,请参见