有的.exe可以直接调用(例如下面代码中的wifi.exe);有时候不可以,我就想了个办法,先生成.exe的快捷方式,然后调用快捷方式就可以了(例如下面代码中的registration)。整体代码如下:
#include <stdio.h>
#include <stdlib.h>#include <windows.h>
#include <shellapi.h>
#include <iostream>
#include<fstream>
#include<string>
#include<iostream>
#include<vector>
using namespace std;
int main(void)//可能有一点点问题,假如registration会显示很多图片,然后由于并行,小部分文件夹会没有数据,后期再添加数据!!!一般来说没有问题。
{
// system("C:\\Users\\du\\Desktop\\wifi.exe");
HINSTANCE hNewExe = ShellExecuteA(NULL, "open", "C:\\Users\\du\\Desktop\\registration", NULL, NULL, SW_SHOW);
// HINSTANCE hNewExe = ShellExecuteA(NULL, "open", "C:\\Users\\du\\Desktop\\register_package\\3dFaceRegistration.exe", NULL, NULL, SW_SHOW);这样不行会有问题
if ((DWORD)hNewExe <= 32)
{
printf("return value:%d\n", (DWORD)hNewExe);
}
else
{
printf("successed!\n");
}
return 1;
}