2011-03-05 57 views
5

有没有办法将键击发送到当前未在C++中选择的窗口?例如,如果我将记事本窗口最小化,并且希望输入一些文本而不将窗口置于前面。发送文字/按键到未选中的窗口?

我正在使用Windows 7 64位。

+0

我添加了“winapi”标签。 C++没有窗口; Windows有窗口,您可以使用Windows API来操作它们。 – 2011-03-05 19:26:17

回答

4

伪造输入很难实现,完全一般,不使用SendInput()

是的,你可以试试PostMessage(),但eznme的回答在谈到SendMessage时最好是误导。正如我和其他人一样,在这里每天看起来好多次,输入被发送到消息队列而不是发送到窗口句柄。所有这一切,如果你不想给记事本窗口输入焦点,那么很难通过伪装来获取文本。例如,找到记事本窗口的窗口句柄并使用WM_GETTEXTWM_SETTEXT可直接修改其内容,这个非常简单的替代方法效果更好,更易于使用。

事实上有一个enormous multitude of functionality available一旦你有这个窗口处理你的怜悯!