`

C++调用CMD,等CMD运行完后继续运行C++

 
阅读更多

在这里记录一个小技巧,可以在程序运行的时候调用CMD命令。然后等待CMD命令执行完的时候,继续运行程序。

这在做视频编码实验的时候非常好用,因为像HEVC的tappencoder这种编码速度超级慢的程序,比较适合提前设置好参数,然后用这种方法让C++自动调用CMD编码一个一个的序列。我们就可以回去睡大觉了~~

 

CString paramstr;
STARTUPINFO si={sizeof(si)};
PROCESS_INFORMATION pi;

 

 

//要执行的完整CMD命令,一般是一个字符串
paramstr.Format("tappencoder -c encoder_lowdelay_P_main.cfg -i %s_%dx%d.yuv -wdt %d -hgt %d -b %s_%dx%d_%.3f.hm10 -o %s_%dx%d_%.3f_hevc.yuv",clipname,reso.width,reso.height,reso.width,reso.height,clipname,reso.width,reso.height,bitpp,clipname,reso.width,reso.height,bitpp);
//创建线程
BOOL fRet1 = CreateProcess(NULL,paramstr.GetBuffer(),NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi);
if (fRet1 == TRUE)
{
	WaitForSingleObject(pi.hThread,INFINITE);
	CloseHandle(pi.hThread);
	CloseHandle(pi.hProcess);
}



 



 

 

分享到:
评论

相关推荐

    c# 打压缩包,c++ 调用cmd发送cmd 命令

    c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ ...

    c++执行cmd命令

    c++执行cmd命令c++执行cmd命令c++执行cmd命令c++执行cmd命令c++执行cmd命令c++执行cmd命令

    隐藏cmd命令行窗口C++源码

    CMD窗口的出现可能会打扰用户的界面体验,因此通过编写特定的代码可以使程序在运行时保持不可见。本资源提供了隐藏CMD窗口的C++源码,对于C++开发者来说是一个非常实用的参考。 隐藏CMD窗口的关键在于Windows API...

    C_c++代码执行cmd命令.txt

    文档提供了六种在C++代码中运行cmd命令的方法。并以具体的例子加以说明。

    C++调用CMD.exe修改IP地址

    以下是对"使用C++调用CMD.exe修改IP地址"这一主题的详细解释。 首先,我们要了解如何在C++中执行外部命令。这通常通过`system()`函数实现,该函数是C++标准库中的一个函数,允许我们执行shell命令。`system(const ...

    VC中调用CMD命令 并获取调用结果

    在VC++(Visual C++)开发环境中,有时候我们需要执行一些系统级别的操作,比如运行CMD命令行指令,并且希望获取这些命令的执行结果。这在处理自动化任务、系统管理或者集成外部工具时非常常见。本篇文章将详细介绍...

    VC中调用CMD命令并获取调用结果

    在VC++(Visual C++)开发环境中,有时候...总的来说,通过VC++调用CMD命令并获取其结果,涉及到Windows API的使用,包括进程创建、管道通信等技术。理解和掌握这些技术对于开发需要与操作系统底层交互的软件至关重要。

    C++ ADB 运行库

    本项目是一个C++实现的ADB运行库,它封装了ADB命令的执行,使得在C++程序中调用ADB功能变得更加便捷。 在C++环境中,直接使用ADB命令通常涉及系统调用或者子进程的创建,而这个库提供了一个更高效的解决方案。源码...

    VC中调用CMD命令并获取调用结果.rar_CMD结果_MFC CMD_cpp 调用cmd_mfc设置cmd命令_获取执行结果

    mfc调用cmd命令行,并且获取执行的结果

    VC++实现CMD命令执行与获得返回信息

    本文将深入探讨如何使用VC++6.0通过`CreateProcess`执行CMD命令,并利用命名管道(Named Pipe)来获取命令执行后的返回信息。 首先,`CreateProcess`是Windows API中用于创建新进程和子进程的关键函数。它接受一...

    qt调用cmd命令和dll例子

    `waitForFinished`确保我们等待命令执行完成后再继续执行后续代码。 接下来,我们讨论如何加载和使用DLL。在Windows上,我们可以使用`LoadLibrary`和`GetProcAddress`这两个API函数来实现。首先,你需要包含相关的...

    Qt调用CMD启动外部程序Demo.zip

    在本文中,我们将深入探讨如何使用Qt框架中的QProcess类来调用CMD(命令提示符)启动外部程序。Qt是一个跨平台的应用程序开发框架,广泛应用于C++编程,而QProcess是Qt提供的一个用于与子进程进行交互的类。在这个...

    c++通过CMD连续打开文件

    本篇文章将详细讲解如何利用C++的系统调用功能与CMD交互,以及如何动态地打开特定文件夹中的文件。 首先,我们需要了解C++中的`system()`函数。这是C++标准库`cstdlib`(或在C++98中是`stdlib.h`)中提供的一个函数...

    cmd窗口调用.rar

    CMD(Command Prompt)是Microsoft Windows系统中的一个命令行解释器,它允许用户输入各种系统命令以执行操作,如创建目录、查看文件信息、运行程序等。与图形用户界面(GUI)相比,CMD窗口提供了一种更直接、更快速...

    C++调用webservice接口.docx

    ### C++调用WebService接口详解 #### 一、前言 在现代软件开发中,不同系统之间的通信变得越来越重要。WebService作为一种实现应用间交互的重要手段,被广泛应用于各种场景之中。而对于C++开发者来说,虽然C++本身...

    C++调用exe文件

    总结,C++调用exe文件主要涉及到Windows API的`CreateProcess`函数或使用Boost库。通过管道或重定向标准输出,我们可以获取被调用程序的结果。在实际开发中,根据项目需求和环境选择合适的方法进行实现。

    C++调用webservice接口

    ### C++调用WebService接口详解 #### 一、前言 在现代软件开发中,不同系统之间的通信变得越来越重要。WebService作为一种实现应用间交互的重要手段,被广泛应用于各种场景之中。本文将详细介绍如何使用C++语言来...

    c++写的类似cmd的小程序,可移植。

    在压缩包中的`cmdShell`可能是一个编译后的可执行文件,包含了这个C++命令行工具的所有功能。用户可以直接运行它,体验与CMD类似的交互界面。为了调试和学习,源代码通常会包含更多的注释和详细信息,帮助理解各个...

    几个lammpsin文件,lammps如何运行in文件,C,C++

    标题提到的是“几个lammps in文件,lammps如何运行in文件,C,C++”。这表明我们将讨论的是一个使用LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)软件进行模拟的项目,其中涉及到C和C++编程...

Global site tag (gtag.js) - Google Analytics