• VC 命令行 捕获输出


    代码
            STARTUPINFO   si;   //   启动信息   
        PROCESS_INFORMATION   pi;   //   进程信息   
        si.cb   =   sizeof(STARTUPINFO);   
        GetStartupInfo(
    &si);   //取得当前进程的StartupInfo,并根据当前进程进行修改 
        si.hStdError   =   hWrite;   //错误输出 
        si.hStdOutput   =   hWrite;   //标准输出 
        si.wShowWindow   =   SW_HIDE; 
        si.dwFlags   
    =   STARTF_USESHOWWINDOW   |   STARTF_USESTDHANDLES; 
        CString strCmdLine 
    ="cmd" ;
        
    //创建子进程 
        if   (!CreateProcess(NULL, strCmdLine.GetBuffer(),NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)) 
        { 
            MessageBox( 
    "创建进程失败!"); 
            
    return
        } 
        CloseHandle(hWrite); 
        Sleep(
    200); 
        
    char   buffer[4096]   =   {0};   
        DWORD   bytesRead;   
        
    while   (true
        {   
            
    if   (ReadFile(hRead,buffer,4095,&bytesRead,NULL)   ==   NULL)   
                
    break;   
            CString strInfo;
            GetDlgItemText(IDC_EDIT_Info,strInfo);
            strInfo   
    +=   buffer;  
            SetDlgItemText(IDC_EDIT_Info,strInfo);
            
    //TRACE(buffer); 
        } 
        CloseHandle(hRead);
  • 相关阅读:
    MySQL decimal unsigned 更新负数不报错却为0
    centos 安装jdk
    CentOS7安装docker
    Cron 时间元素
    PHPStorm
    日志习惯
    HTTP幂等性
    navicat for mysql 10.1.7注册码
    localStorage、sessionStorages 使用
    FreePascal
  • 原文地址:https://www.cnblogs.com/ganmk/p/1875874.html
Copyright © 2020-2023  润新知