gpt4 book ai didi

c# - SendInput 到最小化的窗口

转载 作者:太空狗 更新时间:2023-10-29 21:30:13 25 4
gpt4 key购买 nike

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

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

提前致谢。

最佳答案

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

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

当您拥有线程 ID 时,您可以使用 AttachThreadInput将您的线程附加到其他线程输入处理的函数。

完成所有这些之后,您可能可以使用 SetFocusSendInput

您可能希望在发送输入后分离线程。

要访问这些方法,您必须使用适用于 C# 或 C++/CLI 的 P/Invoke。 PInvoke.net作为引用非常方便。导入所有这些函数将是一件小事,但当您完成后,您应该能够将输入发送到您想要的任何“窗口”。

另请注意,我不确定您是否知道这一点,但在纯 Win32 中,所有内容都被视为一个窗口,甚至是一个按钮。如果您不走运,您可能必须将输入发送到属于记事本应用程序的文本控件的句柄。

关于c# - SendInput 到最小化的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6165428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com