【发布时间】:2014-02-15 20:24:28
【问题描述】:
我试图弄清楚如何让我的 C# 应用程序将密钥发送到另一个应用程序窗口,而不是关注它。 我有一个单词列表和 3 个记事本文件。 想象一下,我按顺序打开了所有 3 个记事本窗口,我的程序将获取列表框中的第一个单词并将其写入第一个记事本窗口。第二个记事本窗口中的第二个单词和第三个记事本窗口中的第三个单词。然后重新开始并继续。 所以我希望它在每个单词中发布 1 个单词,然后一遍又一遍地继续。
但我只知道如何使用 1 个记事本窗口(在它处于活动状态时)来做到这一点。
int i = 0;
i = listBox1.SelectedIndex;
i = i + 1;
if (i > listBox1.Items.Count - 1)
i = 0;
listBox1.SelectedIndex = i;
string message = listBox1.SelectedItem.ToString();
SendKeys.Send(message);
SendKeys.Send("{ENTER}");
这需要我首先关注记事本窗口,启动计时器,然后继续关注记事本窗口。然后它会遍历列表并输入单词(每行 1)。它工作正常。但我希望能够在 3 个窗口上完成。
然后我需要以某种方式获取窗口标题,而不是进程名称。 那时我将有 3 个称为记事本的进程。 但是如果它们被命名为 Note1、Note2、Note3,我该怎么做呢?
我需要帮助来列出要写入哪些程序的列表:
listofprograms = ["Note1", "Note2", "Note3"];
它会发现以这些名称打开的应用程序窗口, 然后以某种方式将文本写入这些窗口。
谁能帮帮我?到目前为止还没有发现任何关于这方面的信息,相信我,我已经环顾四周了!
【问题讨论】:
标签: c# winforms send sendkeys postmessage