PostMessage使用问题

2025-05-10 10:49:59
推荐回答(4个)
回答1:

应该了解一下SendMessage和PostMessage的区别,SendMessage会直接发送给那个对应的窗口,然后窗口就会马上处理发送过来的消息,但是注意,对于GUI程序,你必须显式调用Invalidate和UpdateWindow,否则界面不会变化,但是其实消息已经处理了。
但是PostMessage发送的消息是放入到对应窗口的消息队列中,然后就直接返回,不管消息如何执行。而消息队列中的消息是按FIFO的次序执行的,这样就不能马上表现出来了,具体何时执行,要看这个消息队列中的消息个数了。

回答2:

你的用发是正确的,但是你应该先发送WM_KEYDOWN,再发送WM_KEYUP,要不然你直接发WM_CHAR。这里不能用SendMessage,我以前试过,必须用PostMessage才可以模拟按健

回答3:

你吧这两个说反了

回答4:

SendMessage根本不起作用 我也定义过WM_CHAR=101 也不起作用 不知道是什么原因