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;
    }
  • 相关阅读:
    day13_迭代器,生成器
    作业礼包
    day12_装饰器进阶
    装饰器作业
    day11_装饰器
    函数作业
    day10-函数进阶
    数据类型-习题解答
    day09_函数
    PHP 完美分页
  • 原文地址:https://www.cnblogs.com/suxia/p/13527636.html
Copyright © 2011-2022 走看看