如何在使用C ++中的SendMessage的应用程序之间传递string

在SendMessage中使用自定义消息可以在两个应用程序之间传递char *吗? 我知道这是可能的使用WM_COPYDATA,但我想知道,如果我可以发送这个使用自定义消息(WM_USER + ..)

谢谢!

WM_COPYDATA是专门发明的,因为你问的是不可行的。 这是因为不同的应用程序位于不同的地址空间中,所以从应用程序传递的指针在另一个地址空间中没有意义。

WM_COPYDATA通过使用一些IPC机制来处理这个问题,这通常是当你想与另一个应用程序共享数据时所做的事情; 可行的选择是通常的:管道,共享内存和公司,看看这里看什么Windows提供。

我几乎肯定这是不可能的。 另一个应用程序将无法直接从指向第一个应用程序堆/堆栈的指针读取。

这是一个好的文章,可以帮助你进行进程间通讯。 这有助于我在两个应用程序之间发送字符串。