获取控制台程序的返回值
在控制台程序的函数中使用ExitProcess函数,退出函数,调用者接收返回值:
DWORDnResult;SHELLEXECUTEINFOShExeInfo={0};ShExeInfo.cbSize=sizeof(SHELLEXECUTEINFO);ShExeInfo.fMask=SEE_MASK_NOCLOSEPROCESS;ShExeInfo.hwnd=NULL;ShExeInfo.lpVerb=NULL;ShExeInfo.lpFile=_T("a.exe");ShExeInfo.lpParameters=_T("1");ShExeInfo.lpDirectory=NULL;ShExeInfo.nShow=SW_HIDE;ShExeInfo.hInstApp=NULL;ShellExecuteEx(&ShExeInfo);WaitForSingleObject(ShExeInfo.hProcess,1000*120);GetExitCodeProcess(ShExeInfo.hProcess,&nResult);//被调用进程用ExitProcess(0)返回指定的值
调用控制台注册组件
VOIDRegisterReportCom(){SHELLEXECUTEINFOShExecInfo={0};ShExecInfo.cbSize=sizeof(SHELLEXECUTEINFO);ShExecInfo.fMask=SEE_MASK_NOCLOSEPROCESS;ShExecInfo.hwnd=NULL;ShExecInfo.lpVerb=_T("runas");ShExecInfo.lpFile=_T("C:/Windows/SysWOW64/regsvr32.exe");CStringstrPath=GetApplicationPath()+_T("gregn6.dll/s");ShExecInfo.lpParameters=strPath;ShExecInfo.lpDirectory=NULL;ShExecInfo.nShow=SW_HIDE;ShExecInfo.hInstApp=NULL;ShellExecuteEx(&ShExecInfo);strPath=GetApplicationPath()+_T("grdes6.dll/s");ShExecInfo.lpParameters=strPath;ShellExecuteEx(&ShExecInfo);}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。