C++/VC/QT 隱藏調用程序

有時候需要在我們的程序中調用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命令結束進程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章