打开另一个程序, QT中比较简单:
QProcess *process = new QProcess;
QStringList str; str << “”;
//process->start(“C:\Program Files (x86)\MyAPP\app.exe”, str); process->start(m_installPath + “\” + RUN_EXE, str);
不用QT的库,单纯用C++ Windows API启动另一个程序:
#include <shlobj.h>
#include <windows.h>
#include <shellapi.h>
bool execAPP() { SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL); SHChangeNotify(SHCNE_DELETE, SHCNF_PATH, _pgmptr, NULL);
char szFilePath[MAX_PATH]; sprintf(szFilePath, “”%s"", _pgmptr);
HINSTANCE hInstance = ShellExecute(NULL, TEXT(“open”), TEXT(“C:\Program Files (x86)\MyAPP\app.exe”), (LPCWSTR)szFilePath, NULL, SW_HIDE); if ((int)hInstance > 32) { Log(TEXT(“execute exe success!”)); return true; } else { Log(TEXT(“execute exe fail!”)); return false; } }
C++运行其他程序
最新推荐文章于 2024-08-06 10:05:31 发布