有時候需要在我們的程序中調用cmd命令行,但尷尬的是會在界面上顯示一個黑框。如何隱藏黑框?
以qt代碼爲例:(只需要替換QString即可,可直接傳遞參數)
#include <windows.h>
void CTest::HideRunProcess(QString param)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
si.cb = sizeof(STARTUPINFO);
GetStartupInfo(&si);
si.wShowWindow = SW_HIDE;
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
if (!CreateProcess(NULL, (LPWSTR)param.utf16(),NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi))
{
}
}
調用示例:
HideRunProcess("taskkill /f /im test.exe"); //調用taskkill命令結束進程