gpt4 book ai didi

c++ - 如何从另一个窗口/程序发送/接收消息?

转载 作者:行者123 更新时间:2023-11-27 23:03:31 24 4
gpt4 key购买 nike

我可以选择我想要的任何可见窗口并获取其主句柄,但我无法处理发送或接收消息。 GetMessage() 函数始终返回 0。如果我想在属于另一个窗口的文本框当前处于事件状态时发送有关击键的消息怎么办?

MSG msg;
WPARAM wParam;
LPARAM lParam;
UINT message;
while(TRUE)
{
GetMessage(&msg, rHwnd, 0, 0); // get message from another window
TranslateMessage(&msg);
wParam = msg.wParam;
lParam = msg.lParam;
message = msg.message;
switch(message) // check whether an user clicked the 't' key
{
case WM_CHAR:
switch(wParam)
{
case 't':
MessageBox(NULL, "t", "", 0);
break;
}
break;
}
}

最佳答案

向窗口发送消息很容易——为此使用 PostMessage()SendMessage...()(尽管为了模拟键盘输入,您应该使用 SendInput() 代替)。但是,GetMessage() 只能检索调用线程拥有的窗口的消息,它不能检索另一个线程/进程拥有的窗口的消息。如果您需要处理发往另一个应用程序的消息,则必须通过 SetWindowsHookEx() 使用消息 Hook 。

关于c++ - 如何从另一个窗口/程序发送/接收消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25431688/

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