获取控制台程序的返回值-创新互联
在控制台程序的函数中使用ExitProcess函数,退出函数,调用者接收返回值:

DWORD nResult;
SHELLEXECUTEINFO ShExeInfo = { 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)返回指定的值调用控制台注册组件
VOID RegisterReportCom()
{
SHELLEXECUTEINFO ShExecInfo = { 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");
CString strPath = 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);
}另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:获取控制台程序的返回值-创新互联
文章出自:http://www.jxjierui.cn/article/dseghs.html


咨询
建站咨询
