答案:解决方法很多!PostMessage直接把消息投递到目标窗口的消息队列就返回,而不管它是不是处理了这个消息,一般适用于发消息的程序需要立即返回并且不关心目标窗口的返回值的情况。
而SendMessage则相当于直接调用目标窗口的WndProc,必须等到目标窗口处理完毕这个消息,并且可以获得目标窗口的返回值。
有些消息,比如BM_GETCHECK之类的消息,不可能用PostMessage的,因为那样你就不可能获得目标的选择框是否选择的结果,还有比如WM_GETTEXT等。
从你的代码来看,建议你最好在发送按键之后的加上延时代码(sleep)。