1.创建函数
BOOL CreateProcess(
LPCTSTR lpApplicationName,
LPTSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
DWORD dwCreationFlags,
LPVOID lpEnvironment,
LPCTSTR lpCurrentDirectory,
LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATION lpProcessInformation
);
2.创建进程
STARTUPINFO startinfo={0};
PROCESS_INFORMATION pinfo;
startinfo.cb = sizeof(STARTUPINFO);
startinfo.lpDesktop = "";
startinfo.lpReserved = NULL;
startinfo.lpTitle = NULL;
startinfo.dwFlags = STARTF_USESHOWWINDOW;
startinfo.cbReserved2 = 0;
startinfo.lpReserved2 = NULL;
startinfo.wShowWindow = SW_HIDE;// SW_SHOW;
//获取进程的绝对路径。如:e:\aaa\bbb\pro.exe
char out_pathName[MAX_PATH];
::GetModuleFileName(NULL,out_pathName, MAX_PATH);
CString path = out_pathName;
path = path.Left(path.ReverseFind('\\'));
path +="\\tools";
bool bgood =CreateProcess(".\\tools\\DBBackUp.exe",
NULL,//commLine
NULL,
NULL,//FALSE,//
FALSE,//是否继承句柄
0,//
NULL,//环境的申明,为NULL默认与父进程的环境一致
path,//路径,为NULL默认与父进程的exe路径是一致的。
"E:\\\\客户端\\客户端\\tools",//NULL
&startinfo,
&pinfo
);
if(!bgood)
{
ExMessageBox("产生进程失败!","",MB_OK);
return ;
}
return ;