利用C++运行Pyinstaller打包的exe文件,并传入exe输入参数,检测该exe是否运行完毕,调用的过程该exe文件需要静默运行。
时间: 2024-01-16 07:02:48 浏览: 139
首先,需要使用C++的system函数来运行Pyinstaller打包的exe文件并传入输入参数。示例代码如下:
```c++
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
// 运行打包后的exe文件,并传入输入参数
system("pyinstaller_exe_file.exe input_parameter");
// 循环检测exe文件是否运行完毕
while (true) {
// 使用system函数运行tasklist命令,获取当前正在运行的进程列表
system("tasklist > tasklist.txt");
// 打开tasklist.txt文件,读取其中的内容并查找是否存在打包后的exe文件
ifstream tasklist("tasklist.txt");
string line;
bool is_running = false; // 标记打包后的exe文件是否在运行
while (getline(tasklist, line)) {
// 查找打包后的exe文件名
if (line.find("pyinstaller_exe_file.exe") != string::npos) {
is_running = true;
break;
}
}
tasklist.close();
if (!is_running) {
// 如果打包后的exe文件已经停止运行,退出循环
break;
}
// 等待一段时间后再次检测
Sleep(1000);
}
// 打包后的exe文件已经运行完毕,可以进行下一步操作
// ...
return 0;
}
```
在上述代码中,使用了system函数运行打包后的exe文件,并传入输入参数。然后使用循环和tasklist命令来检测打包后的exe文件是否在运行,如果已经停止运行,则退出循环。在检测时,使用了string的find函数查找打包后的exe文件名,并使用Sleep函数等待一段时间后再次检测。如果打包后的exe文件已经运行完毕,则可以进行下一步操作。
需要注意的是,在运行打包后的exe文件时,需要使用静默模式。可以在命令行中加入参数“-w”或“--windowed”来设置静默模式。示例代码如下:
```c++
system("pyinstaller_exe_file.exe -w input_parameter");
```
阅读全文