SendInput到最小化窗口

Ale*_*x S 6 c#

是否可以在当前没有焦点的窗口上使用sendInput函数,并且可能通过使用多线程,同时将输入发送到多个最小化窗口,或者在您在另一个窗口上工作时将输入发送到一个窗口?

我想在c#中做这样的事情

提前致谢.

Sku*_*del 5

您只能使用SendInput键盘焦点将输入发送到HWND.此外,窗口必须附加到调用线程的消息队列,因此不能简单地SetFocus.

您需要获取窗口的线程ID GetProcessIdOfThread.

如果您有线程ID,则可以使用该AttachThreadInput函数将线程附加到其他线程输入处理.

毕竟,你可以使用SetFocusSendInput.

您可能希望在发送输入时分离线程.

要访问这些方法,您必须使用P/Invoke进行C#或C++/CLI.PInvoke.net作为参考非常方便.这将是一个小家务,导入所有这些功能,但是当你完成后,你应该能够将输入发送到你想要的任何"窗口".

另外作为旁注,我不确定你是否意识到这一点,但在纯Win32中,一切都被视为一个窗口,甚至是一个按钮.如果您运气不好,则可能必须将输入发送到属于记事本应用程序的文本控件的句柄.