1、用qprocess呼叫沒有視窗顯示
但是任務管理欄裡有程序在
2、通過system呼叫
qstring qstrrexepath("c:/run/test.exe");
qstring qstrworkpath("c:/run");
qstring str = "cd " + qstrworkpath + " & " + qstrrexepath;
system(str.tostdstring().c_str());
能彈出視窗,但是控制台程序依賴與gui程序存在而存在,做不到啟動控制台程序後,主程式把自己強殺掉
3、通過win32api函式createprocess用來建立乙個新的程序
注意引數
(1)si.wshowwindow = sw_shownormal;
(2)create_new_console | create_new_process_group
(3)// 無限期等待執行緒執行完畢
// 主線程被掛起
//waitforsingleobject(pi.hprocess, infinite);
static dword createindependentprocessshowwindows(char const *strprocess)
; process_information pi = ;
si.cb = sizeof(startupinfo);
si.dwflags = startf_useshowwindow;
si.wshowwindow = sw_shownormal;
int iret = 0;
bool bret = createprocess(
null,
(lpwstr)wstrcmdcopy.c_str(),
null,
null,
false,
create_new_console | create_new_process_group,
null,
null,
&si,
&pi);
if (bret == false)
closehandle(pi.hthread);
// 無限期等待執行緒執行完畢
// 主線程被掛起
//waitforsingleobject(pi.hprocess, infinite);
dword dwexitcode;
getexitcodeprocess(pi.hprocess, &dwexitcode);
closehandle(pi.hprocess);
return dwexitcode;
};};
話題: Winform程式中呼叫cmd命令
messagebox.show command命令 output catch exception a 上面注釋掉的幾行,網上有說呼叫的時候是需要機器的使用者名稱和密碼的,但是經測試,不用也可以。ps 遇到的乙個問題,若將上面的視窗顯示設為false process.startinfo.createn...
C 程式呼叫cmd執行命令
string str console.readline 手動輸入 string str ipconfig 直接向cmd裡傳入的命令 system.diagnostics.process p new system.diagnostics.process p.startinfo.filename cmd...
C 程式呼叫cmd執行命令
酷小孩 原文 c 程式呼叫cmd執行命令 string str console.readline system.diagnostics.process p new system.diagnostics.process p.startinfo.filename cmd.exe p.startinfo....