同上

解决方案 »

  1.   

    SendMessage
    发送一个消息时,直接调用窗口的窗口进程。通信是即时的,直到窗口进程为调用函数返回一个结果后,应用程序才能继续。
    PostMessage
    寄送一个消息时,把消息发送到拥有那个窗口的应用程序消息队列中。一有空闲,应用程序就搜索消息队列,并在消息队列中处理消息,即从队列中删除它们,并将它们发送到即定窗口。通信将可能延迟,直到目标应用程序获得处理消息的时间。调用函数发送消息后即返回,但结果只是表示消息寄送成功与否,而不是被调用窗口进程的结果
      

  2.   

    我的程序在用SendMessage函数发送了一些字符串成功。但改用PostMessage时,收到的是乱码,很奇怪!
      

  3.   

    收到的是乱码,可能是因为你没有用CFrame接收消息,你试试吧
      

  4.   

    说白了就是等待与不等待的关系。
    就象它们的命名一样,send是发送,post是发布。
    可以很直接地看出它们的差别!
      

  5.   

    基本上就是同步和异步的区别。要注意的是:用postmessage传递的参数分配的内存一定要确保在收到消息的时候没有被释放。通常的编程方法是在postmessage前分配,收到消息后在处理消息的程序里释放。上面提到用postmessage传递字符串,很可能就是收到消息之前这个字符串的内存已经被释放了。