是否可以在SendMessage中使用自定义消息在两个应用程序之间传递char *?我知道有可能使用WM_COPYDATA,但我想知道是否可以使用自定义消息发送此消息(WM_USER + ..)如何在C++中使用SendMessage的应用程序之间传递字符串
谢谢!
是否可以在SendMessage中使用自定义消息在两个应用程序之间传递char *?我知道有可能使用WM_COPYDATA,但我想知道是否可以使用自定义消息发送此消息(WM_USER + ..)如何在C++中使用SendMessage的应用程序之间传递字符串
谢谢!
WM_COPYDATA
已被专门发明,因为你问的是不可行的。这是因为不同的应用程序存在于不同的地址空间中,所以从应用程序传递的指针在另一个中没有意义。
WM_COPYDATA
通过使用一些IPC机制来处理问题,这是您通常在与其他应用程序共享数据时执行的操作;可行的选项是通常的:管道,共享内存& co,看看here看什么Windows提供。
我几乎可以肯定这是不可能的。其他应用程序将无法直接从指向第一个应用程序堆/堆栈的指针读取。
Here是一个很好的文章,它可以帮助你进行进程间通信。这有助于我在两个应用程序之间发送字符串。
@大卫:没问题,我会删除我的。 :)顺便说一句,您可能有兴趣看看Raymond Chen的博客中关于GlobalAlloc的系列文章,它详细描述了它在成为LocalAlloc的一个包装之前所经历的所有转换。如果你喜欢Win32的历史方法,阅读起来会非常有趣。 :) – 2011-02-09 21:06:34