vc 呼叫exe獲取輸出資訊

2022-01-24 02:39:02 字數 1167 閱讀 5265

呼叫命令列程式,返回結果。

把命令列結果輸入到管道中,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 ...