进程终结和创建
概要
c++之进程终结和创建
进程终结方法
void MonitoringFfmpeg::AutoSsrStop()
{
char c[] = {"ffmpeg.exe"};
HANDLE handle;
HANDLE handle1;
handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
PROCESSENTRY32 *info;
info=new PROCESSENTRY32;
info->dwSize=sizeof(PROCESSENTRY32);
Process32First(handle,info);
Process32Next(handle,info);
while (Process32Next(handle,info)!=false)
{
if (strcmp(c,info->szExeFile) == 0)
{
handle1=OpenProcess(PROCESS_TERMINATE,FALSE,info->th32ProcessID);
TerminateProcess(handle1,0);
}
}
CloseHandle(handle);
return;
}
进程创建&调用方法
CString sExcStr;
sExcStr = "ffmpeg.exe -i rtsp://192.168.2.107:8554/" //说明:这个字符串 包含了调用的exe和要输入的参数
STARTUPINFO si; //一些必备参数设置
memset(&si, 0, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOW;
PROCESS_INFORMATION pi; //必备参数设置结束
if(!CreateProcess(NULL,sExcStr.GetBuffer(),NULL,NULL,FALSE,0,NULL,NULL,&si,&pi)) //8888为命令行参数,ExcuteApp.exe为当前目录下的一个exe文件。
{
exit(1);
}
小结
对您有帮助的亲收藏哦