有些时候我真怀疑的编辑器的问题,因为当PostMessage不行的时候,我改为SendMessage,结果行了,然后再改回PostMessage,结果也行了!
想了好久也不知道如何解释这个问题。
7 个解决方案
#1
注:我发的消息,WPARAM,LPARAM都是值,而非指针,所以也不存在局部变量析构的问题。
#2
PostMessage 是只管发, 不管返回消息的. 可能连续不停的发, 消息队列发满了, 就不接受新的消息了, 就出问题了. 要不, 改用 SendMessage, 它会等收到返回消息才继续向前走的.
#3
postmessage发出去的消息你要等待空闲时间片轮循环到你接受才可以.绝对不会send成功post失败的.
#4
不是这样的,一但PostMessage在某一次发送不成功后,以后绝对再也不会成功了,重启程序也不行。非得在VC中把它改为SendMessage,编译再运行,问题解决。
再次改为PostMessage,编译再运行,也解决问题。但不知道以后出问题是什么时候了!
再次改为PostMessage,编译再运行,也解决问题。但不知道以后出问题是什么时候了!
#5
发送成功或失败的判断标准是怎么样的?
需要更详细的信息
需要更详细的信息
#6
PostMessage返回值一定是成功的。
我说的不成功,是说主窗口没有收到消息。
我说的不成功,是说主窗口没有收到消息。
#7
我也遇到相同的问题了,不知道是怎么回事。
我的是这样的,如果两个线程向主窗口PostMessage的话,总会少一个没收到。
而用SendMessage会完全正常,希望高手指点
我的是这样的,如果两个线程向主窗口PostMessage的话,总会少一个没收到。
而用SendMessage会完全正常,希望高手指点
#1
注:我发的消息,WPARAM,LPARAM都是值,而非指针,所以也不存在局部变量析构的问题。
#2
PostMessage 是只管发, 不管返回消息的. 可能连续不停的发, 消息队列发满了, 就不接受新的消息了, 就出问题了. 要不, 改用 SendMessage, 它会等收到返回消息才继续向前走的.
#3
postmessage发出去的消息你要等待空闲时间片轮循环到你接受才可以.绝对不会send成功post失败的.
#4
不是这样的,一但PostMessage在某一次发送不成功后,以后绝对再也不会成功了,重启程序也不行。非得在VC中把它改为SendMessage,编译再运行,问题解决。
再次改为PostMessage,编译再运行,也解决问题。但不知道以后出问题是什么时候了!
再次改为PostMessage,编译再运行,也解决问题。但不知道以后出问题是什么时候了!
#5
发送成功或失败的判断标准是怎么样的?
需要更详细的信息
需要更详细的信息
#6
PostMessage返回值一定是成功的。
我说的不成功,是说主窗口没有收到消息。
我说的不成功,是说主窗口没有收到消息。
#7
我也遇到相同的问题了,不知道是怎么回事。
我的是这样的,如果两个线程向主窗口PostMessage的话,总会少一个没收到。
而用SendMessage会完全正常,希望高手指点
我的是这样的,如果两个线程向主窗口PostMessage的话,总会少一个没收到。
而用SendMessage会完全正常,希望高手指点