放個**片段方便我以後做事
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...