C++程序中调用cmd执行命令行程序(以使用ffmpeg.exe为例)

需要包含头文件:

#include <Windows.h>

	//将avi视频的封装格式修改为.mp4
	string strFfmpegPath = g_strDllFolder + "\\ffmpeg";//ffmpeg.exe所在的位置的完整路径
	string strCmdContent = "/c" + strFfmpegPath + " -i " + m_strCacheAviPath +" -vcodec copy " + m_strAbstractPahtMp4;
	//ShellExecute(NULL,"open","cmd",strCmdContent.c_str(),NULL,SW_HIDE);//SW_HIDE


	SHELLEXECUTEINFO ShExecInfo = {0};

	ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);

	ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;

	ShExecInfo.hwnd = NULL;

	ShExecInfo.lpVerb = NULL;

	ShExecInfo.lpFile = "C:\\Windows\\System32\\cmd.exe";

	ShExecInfo.lpParameters = strCmdContent.c_str();

	ShExecInfo.lpDirectory = NULL;

	ShExecInfo.nShow = SW_HIDE;

	ShExecInfo.hInstApp = NULL;

	ShellExecuteEx(&ShExecInfo);

	WaitForSingleObject(ShExecInfo.hProcess,INFINITE);

猜你喜欢

转载自blog.csdn.net/wangyjfrecky/article/details/80277765
今日推荐