塑钢门窗设计规范:PostMessage使用问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 20:19:35
Private Const WM_KEYDOWN = &H100
PostMessage(hWnd, WM_KEYDOWN, VK_F3, 0)
我现在迷糊了 该命令使用后对应窗口没有反映 求教问题出在那里 不用keybd_event
我原来是用WM_CHAR
Private Const WM_CHAR=101
一样不起作用

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

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

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

你吧这两个说反了