zoukankan      html  css  js  c++  java
  • C++获取程序返回值

    直接上代码吧,有用过CSDN论坛说的WinExec()和system()等方法试过,好像都不太行,另外记得以前shellexec()也可以获取程序返回值的,但是看了下函数好像没有接收返回值的参数,只好用底下这种形式,用WaitForSingleObject()等待程序结束后用GetExitCodeProcess()获取程序返回值

    #include "stdafx.h"
    #include <Windows.h>
    #include <iostream>
    using namespace std;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        STARTUPINFOW si;
        PROCESS_INFORMATION pi;
    
        ZeroMemory(&pi, sizeof(pi));
        ZeroMemory(&si, sizeof(si));
        si.cb = sizeof(STARTUPINFOW);
    
        TCHAR cmd[256] = _T("D:\\dev\\YozoUCloud\\setup1.0.3 build437.exe");
        BOOL working = ::CreateProcess(NULL, cmd, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);
    
        if (working == 0)
        {
            DWORD error = GetLastError();
            cout << "CreateProcess Error : " << error << endl;
            getchar();
            return 0;
        }
    
        WaitForSingleObject(pi.hProcess, INFINITE);
    
        unsigned long Result;
        GetExitCodeProcess(pi.hProcess, &Result);
    
        cout << "Exit Code : " << Result << endl;
        getchar();
    
        return 0;
    }
  • 相关阅读:
    旅行锦囊
    生活智慧
    育儿锦囊
    新婚置办
    软件开发心得
    64位sql server2005安装
    Struts学习心得
    Spring学习心得
    Oracle补习班第十天
    Python----文件操作
  • 原文地址:https://www.cnblogs.com/suxia/p/13527636.html
Copyright © 2011-2022 走看看