程序:
1 CreateProcess 函数
STARTUPINFO si;
memset(&si,0,sizeof(STARTUPINFO));//初始化si在内存块中的值(详见memset函数)
si.cb=sizeof(STARTUPINFO);
si.dwFlags=STARTF_USESHOWWINDOW;
si.wShowWindow=SW_SHOW;
PROCESS_INFORMATION pi;//必备参数设置结束
if(!CreateProcess(TEXT("..\\Accuarcy\\Accuarcy.exe"),NULL,NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi))
{
exit(1);
}
else
{
}
//不使用的句柄最好关掉
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
CreateProcess函数使用方法:
http://baike.baidu.com/link?url=T3bJgwkix2kYMN25tCQqVtSGMT-HzURwuvDSI11Wyvs3tINdyD2RPNnggELL_lluDxmO87Wq0byS-SYhWXKYQq
当需要传入参数时,调用形式如下:
string strTemp = "C:\\Users\\hong\\Desktop\\Debug\\Hsaliency\\HSaliency.exe";
strTemp += " ";
strTemp += imgPath;
strTemp += " ";
strTemp += path2;
WCHAR wcharTemp[256]; //string 转 LPWSTRT
MultiByteToWideChar(CP_ACP,0,strTemp.c_str(),-1,wcharTemp,sizeof(wcharTemp)/sizeof(wcharTemp[0]));
CreateProcess(NULL,wcharTemp,NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi);
其中,CreateProcess第二个参数格式为:exe路径 + 空格 + 参数1 + 空格 + 参数2…,程序中imgPath和path2为传入的两个字符串参数。
2 system 函数
#include <iostream>
using namespace std
char s[500];
sprintf_s(s,"%s %s %s","C:\\Users\\hong\\Desktop\\Debug\\Hsaliency\\HSaliency.exe",imgPath.c_str(), path2.c_str());
system(s);
注: imgPath和path2为传入exe的参数。