window 匿名管通道程式設計

2021-06-06 10:05:30 字數 1116 閱讀 9761

放個**片段方便我以後做事

security_attributes sa;

handle hread,hwrite;

sa.nlength = sizeof(security_attributes);

sa.lpsecuritydescriptor = null; //使用系統預設的安全描述符

sa.binherithandle = true; //建立的程序繼承控制代碼

if (!createpipe(&hread,&hwrite,&sa,0)) //建立匿名管道

startupinfo si;

process_information pi;

zeromemory(&si,sizeof(startupinfo));

si.cb = sizeof(startupinfo);

getstartupinfo(&si);

si.hstderror = hwrite;

si.hstdoutput = hwrite; //新建立程序的標準輸出連在寫管道一端

si.wshowwindow = sw_hide; //隱藏視窗

si.dwflags = startf_useshowwindow | startf_usestdhandles;

char cmdline[200];

cstring tmp,stredit2;

getdlgitemtext(idc_ecmd,stredit2); //獲取編輯框中輸入的命令列

tmp.format("cmd /c %s",stredit2);

sprintf(cmdline,"%s",tmp);

if (!createprocess(null,cmdline,null,null,true,null,null,null,&si,&pi)) //建立子程序

closehandle(hwrite); //關閉管道控制代碼

char buffer[8096] = ;

cstring stroutput;

dword bytesread;

while (true)

closehandle(hread);

關於window匿名信道的使用以及所遇到的問題

學習windows通道時,用他去完成自己的cmd小工具時遇到了一些問題總結一下。關於startupinfo結構 因為為了在cmd程式中通過通道與我們的程式互動,我們需要把cmd的輸入輸出變為匿名信道的輸入輸出。這就需要改變startupinfo結構。注意在把輸入輸出控制代碼改變時不要忘記改變star...

Window程式設計

1 window訊息的傳遞 對於作業系統中的大量的訊息,每個訊息作業系統對應是採用post方式還是send方式都是定義好的,作業系統對每乙個訊息的封裝資訊也是預先有約定的 不同的訊息對應的wparam和lparam該存什麼資料都是約定好的 所以針對不同的訊息,對於其傳送方式和引數資訊是要記的。2 視...

window程式設計脈絡

windows應用程式程式設計是一種基於訊息的程式設計。一般建立乙個視窗應用程式,按以下步驟 1.winmain函式是windows程式的入口函式。int winapi winmain hinstancehinstance handle to current instancehinstancehpr...