呼叫命令列程式,返回結果。
把命令列結果輸入到管道中,exe的輸出資訊都存在了stroutput這個變數裡。
cstring strcmd = l"yara64.exe c:\\users\\windows32\\downloads\\yara-master\\yara-master\\windows\\vs2017\\x64\\debug\\yara.txt ";//cmd命令
strcmd = strcmd + pid;
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;
if (!createprocess(null, strcmd.getbuffer(), null, null, true, null, null, null, &si, &pi)) //建立子程序
closehandle(hwrite); //關閉管道控制代碼
char buffer[4096] = ;
cstring stroutput;
dword bytesread;
while (true)
closehandle(hread);
vc 除錯資訊輸出 列印除錯資訊
1.cdumpcontext 該類沒有基類。這個類支援面向流的診斷輸出,以人能夠閱讀的文字。該類過載了 操作符。afxdump是乙個預宣告的cdumpcontext物件,可以方便使用。該物件只在mfc的debug版中有效。可以將調式資訊輸出到除錯輸出視窗或除錯終端。example for afxdu...
CMD獲取輸出資訊
通過cmd命令列的方式匯出dmp檔案,同時獲取匯出過程中的執行資訊,直接採用常規的process方法無法實現,需要做一些小處理,具體如下 注釋 中的開頭 c 和結尾 2 1 是關鍵,重定向檔案輸出 c exp user pwd ip orcl file c test.dmp 2 1 proc.sta...
vc中呼叫exe檔案並傳遞引數
1.呼叫shell hinstance shellexecute hwnd hwnd,lpctstr lpoperation,lpctstr lpfile,lpctstr lpparameters,lpctstr lpdirectory,int nshowcmd 呼叫方法 shellexecute ...