我正在尝试用C#编写一个程序,将文本发送到其他窗口。 如何在C#中编写一个命令,将文本发送到当前用户关注的窗口?
例如:
如果用户单击打开的记事本窗口,打开的Outlook信函或打开的Excel工作表,然后单击我的程序上的按钮,文本将“粘贴”到最后一个记事本窗口/ Outlook信件/用户最后点击的excel单元格。
我希望我的问题足够明确。我不是那么有经验,缺少很多术语。
答案 0 :(得分:3)
通过最小化或隐藏主窗口使您的应用程序失焦,然后使用
发送文本SendKeys.SendWait("Hello World!");
最后,恢复主窗口。
如果代码是在主窗体中执行的,那么你可以这样做
this.Visible = false;
SendKeys.SendWait("Hello World!");
this.Visible = true;
答案 1 :(得分:2)
Olivier的回答实际上似乎比我原来的“似乎无法实现”更准确(并教会了我一些东西:))。如果你需要一个例子,那么看看这个:
http://www.codeproject.com/Articles/18366/Sending-Keystrokes-to-another-Application-in-C
但是,在更复杂的层面上,如果没有要调用的API,除了此解决方案之外,您无法做更多的事情。