Win32程序間通訊簡述

2021-10-08 08:52:08 字數 810 閱讀 8705

使用wm_copydata訊息及相應的結構體來實現程序間的通訊。

特點:

只能用sendmessage函式來傳送訊息,不能用postmessagepostthreadmessage來傳送訊息,所以只能是同步,不能非同步通訊;

由於使用的sendmessage,所以只能用於視窗間的通訊;

傳輸的資料中不能含有指標,因此,c++的帶有虛函式類的物件不能傳輸,以及很多stl容器也不能傳輸。

效率比較高;

傳輸的資料不能包含指標,同訊息

如果非要使用指標,則必須用__based修飾符來修飾,並做相應處理。

分為匿名管道和命名管道。

特點:

匿名管道只能用於單向通訊,且不能跨主機間通訊,並且只能點對點通訊;

命名管道可單向可雙向,能跨主機通訊,也是點對點通訊;

命名管道可用於io完成埠模型。

特點:

是廣播通訊;

是具名的,可跨主機通訊。

比如剪貼簿拖放技術就是基於此實現的。

作業系統程序間通訊簡述

無名管道 pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。有名管道 named pipe 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。訊息佇列 message queue 訊息佇列是由訊息的鍊錶,存放...

unix domain IPC 程序間通訊簡析

linux系統有多種程序間通訊方式,如訊號 訊息佇列 管道等,socket是其中一種,socket使用unix domain 模式進行程序間通訊 服務端 include include include include include define unix serv tmp unix serv 檔案...

Win32應用程式中程序間通訊方法分析與比較

1 程序與程序通訊 2 程序通訊方法 2.1 檔案對映 win32 api中共享記憶體 shared memory 實際就是檔案對映的一種特殊情況。程序在建立檔案對映物件時用0xffffffff來代替檔案控制代碼 handle 就表示了對應的檔案對映物件是從作業系統頁面檔案訪問記憶體,其它程序開啟該...