【发布时间】:2023-03-12 08:03:01
【问题描述】:
我有一个非常基本的 C# 程序,带有一个简单的文本框和其他一些东西。 我有一个按钮,它触发一个计时器,我想要的是每次计时器的滴答声我都可以向文本框发送一个键(设置为向表单发送一个键会将其发送到文本框)。
我现在的代码是:
private void timer2_Tick(object sender, EventArgs e)
{
SendKeys.SendWait("ciao");
}
但这仅在表单可见且具有焦点时才有效
编辑: 由于某些原因,我不想使用“textbox.text = text”
【问题讨论】:
-
您不能使用 SendKeys() 来定位最小化的表单。 SendKeys() 仅适用于当前活动并具有焦点(在用户面前的屏幕上打开)的应用程序。对于最小化的应用程序,您必须获得目标 TextBox 的直接 句柄(可能使用 FindWindow()/EnumWindows()),然后使用 SendMessage()/PostMessage() 向其发送击键.
-
您可以在停用之前激活窗口和发送键:stackoverflow.com/questions/41215435/…