windows程序間通訊常用方法

2021-06-27 11:52:46 字數 681 閱讀 4334

ipc方式

1.共享檔案。 通過乙個外部檔案(如1.txt)

2.剪貼簿方式

windows剪貼簿是一種比較簡單同時也是開銷比較小的ipc(程序間通訊)機制。windows系統支援剪貼簿ipc的基本機制是由系統預留的一塊全域性共享記憶體,用來暫存各個程序間進行交換的資料。提供資料的程序建立乙個全域性記憶體塊中,並將要傳送的資料移到或複製到該記憶體塊;而接受資料的程序(也可以是提供資料的程序本身)獲取此記憶體塊的控制代碼,並完成對該記憶體塊資料的讀取

3.使用sendmessage傳送wm_copydata訊息給其他程序。

4.共享記憶體方式

通過記憶體來傳遞資料,必須在記憶體中申請一定的空間。可以呼叫globalalloc()或者virtualallocex()來實現記憶體空間分配,使用記憶體讀寫函式readprocessmemory()和writeprocessmemory()來讀寫程序的記憶體。要使接收程式獲得傳送程式的記憶體位址,可以通過傳送訊息方法來實現,即通過訊息把記憶體位址從傳送程式傳遞到接收程式。

5.對映檔案方式

6.管道方式

管道的型別有兩種:匿名管道和命名管道。匿名管道是不命名的,它最初用於本地系統中父程序與它啟動的子程序之間的通訊。命名管道則高階一些,通過乙個名字進行標識,使客戶端和服務端應用程式可以通過該管道進行通訊。win32命名管道甚至可以在不同系統的程序間使用,這使它成為許多客戶/伺服器應用程式的理想之選。

windows程序間通訊

摘 要 隨著人們對應用程式的要求越來越高,單程序應用在許多場合已不能滿足人們的要求。編寫多程序 多執行緒程式成為現代程式設計的乙個重要特點,在多程序程式設計中,程序間的通訊是不可避免的。microsoft win32 api 提供了多種程序間通訊的方法,全面地闡述了這些方法的特點,並加以比較和分析,...

Windows環境程序間通訊(二) 共享記憶體方式

共享記憶體方式是通過記憶體來傳遞資料,必須在記憶體中申請一定的空間。可以呼叫globalalloc 或者virtualallocex 來實現記憶體空間分配,使用記憶體讀寫函式 readprocessmemory 和writeprocessmemory 來讀寫程序的記憶體。要使接收程式獲得傳送程式的記...

Windows下程序間通訊

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