PostMessage使用问题 20
PrivateConstWM_KEYDOWN=&H100PostMessage(hWnd,WM_KEYDOWN,VK_F3,0)我现在迷糊了该命令使用后对应窗口没有反映求...
Private Const WM_KEYDOWN = &H100
PostMessage(hWnd, WM_KEYDOWN, VK_F3, 0)
我现在迷糊了 该命令使用后对应窗口没有反映 求教问题出在那里 不用keybd_event
我原来是用WM_CHAR
Private Const WM_CHAR=101
一样不起作用 展开
PostMessage(hWnd, WM_KEYDOWN, VK_F3, 0)
我现在迷糊了 该命令使用后对应窗口没有反映 求教问题出在那里 不用keybd_event
我原来是用WM_CHAR
Private Const WM_CHAR=101
一样不起作用 展开
4个回答
展开全部
应该了解一下SendMessage和PostMessage的区别,SendMessage会直接发送给那个对应的窗口,然后窗口就会马上处理发送过来的消息,但是注意,对于GUI程序,你必须显式调用Invalidate和UpdateWindow,否则界面不会变化,但是其实消息已经处理了。
但是PostMessage发送的消息是放入到对应窗口的消息队列中,然后就直接返回,不管消息如何执行。而消息队列中的消息是按FIFO的次序执行的,这样就不能马上表现出来了,具体何时执行,要看这个消息队列中的消息个数了。
但是PostMessage发送的消息是放入到对应窗口的消息队列中,然后就直接返回,不管消息如何执行。而消息队列中的消息是按FIFO的次序执行的,这样就不能马上表现出来了,具体何时执行,要看这个消息队列中的消息个数了。
展开全部
你的用发是正确的,但是你应该先发送WM_KEYDOWN,再发送WM_KEYUP,要不然你直接发WM_CHAR。这里不能用SendMessage,我以前试过,必须用PostMessage才可以模拟按健
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用thinkinnight的回答:
应该了解一下SendMessage和PostMessage的区别,SendMessage会直接发送给那个对应的窗口,然后窗口就会马上处理发送过来的消息,但是注意,对于GUI程序,你必须显式调用Invalidate和UpdateWindow,否则界面不会变化,但是其实消息已经处理了。
但是PostMessage发送的消息是放入到对应窗口的消息队列中,然后就直接返回,不管消息如何执行。而消息队列中的消息是按FIFO的次序执行的,这样就不能马上表现出来了,具体何时执行,要看这个消息队列中的消息个数了。
应该了解一下SendMessage和PostMessage的区别,SendMessage会直接发送给那个对应的窗口,然后窗口就会马上处理发送过来的消息,但是注意,对于GUI程序,你必须显式调用Invalidate和UpdateWindow,否则界面不会变化,但是其实消息已经处理了。
但是PostMessage发送的消息是放入到对应窗口的消息队列中,然后就直接返回,不管消息如何执行。而消息队列中的消息是按FIFO的次序执行的,这样就不能马上表现出来了,具体何时执行,要看这个消息队列中的消息个数了。
展开全部
你吧这两个说反了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SendMessage根本不起作用 我也定义过WM_CHAR=101 也不起作用 不知道是什么原因
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询