程序間通訊

2021-05-27 22:50:26 字數 1419 閱讀 5415

1.剪下板

//儲存到剪下板

if(openclipboard())

//從剪下板得到資料

if(openclipboard()/*判斷是否開啟剪下板*/)

2.匿名管道

//匿名管道只適用於父子程序之間的通訊,在父程序中建立匿名管道,然後啟動子程序,用readfile()和writefile()實現資訊的傳送與接收

//                    parentprocess

//    oncreatepipe

//先建立兩個handle hread

//                   handle hwrite

security_attributes sa;

sa.binherithandle=true;

sa.lpsecuritydescriptor=null;

sa.nlength=sizeof(security_attributes);

if(!createpipe(&hread,&hwrite,&sa,0))

startupinfo sui;

process_information pi;

zeromemory(&sui,sizeof(startupinfo));

sui.cb=sizeof(startupinfo);

sui.dwflags=startf_usestdhandles;

sui.hstdinput=hread;

sui.hstdoutput=hwrite;

sui.hstderror=getstdhandle(std_error_handle);

if(!createprocess("..\\child\\debug\\child.exe",null,null,null,

true,0,null,null,&sui,&pi))

else

onpiperead()

char buf[100];

dword dwread;

if(!readfile(hread,buf,100,&dwread,null))

messagebox(buf);

onpipewrite()

char buf="";

dword dwwrite;

if(!writefile(hwrite,buf,strlen(buf)+1,&dwwrite,null))

//childprocess

在初始化中將輸入輸出控制代碼設定為標準輸入輸出 hread=getstdhandle(std_input_handle);

hwrite=getstdhandle(std_output_handle);

讀寫函式和父程序基本一樣;

3.命名管道

4.郵槽

php程序間通訊 yoc PHP程序間通訊

php是用c編寫的,因此它對系統底層api的操作與c很像,同大多數語言一樣,php程序間通訊的方式有以下幾種 訊息佇列,管道,共享記憶體,socket和訊號。本文是對這幾種通訊方式對整理 管道通訊pipe 管道用於承載簡稱之間的通訊資料。為了方便理解,可以將管道比作檔案,程序a將資料寫到管道p中,然...

程序間通訊

實現程序間資料共享除了常用的記憶體檔案對映外,對於一些非檔案的資料共享可以直接使用wm copydata。如果需要在程序a傳遞資料到程序b,簡單的實現如下 在程序a中 cstring strdatatosend t hello 需要傳遞的資料 hwnd hwndreceived 程序b的接收資料視窗...

程序間通訊

最近做專案遇到奇怪的問題,我在主線程中建立乙個工作執行緒。在工作執行緒中用sendmessage向主線程傳送訊息,通知主線程操作office 物件。getactiveobject時提示 hr 0x8001010d 因為應用程式正在傳送乙個輸入同步呼叫,所以無法執行傳出的呼叫。我把sendmessag...