是否可以在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