1、windows
在windows上使用API函数CreateProcessW函数或者winexe 来启动新的进程,执行cmd命令:
int execute(const TCHAR *childexe)
{
SECURITY_ATTRIBUTES sa = {0};
HANDLE hRead = NULL, hWrite = NULL;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = TRUE;
if (!CreatePipe(&hRead, &hWrite, &sa,0))
{
return false;
}
HANDLE hTemp = GetStdHandle(STD_OUTPUT_HANDLE);
SetStdHandle(STD_OUTPUT_HANDLE,hTemp);
STARTUPINFO si = {0};
PROCESS_INFORMATION pi = {0};
si.cb = sizeof(STARTUPINFO);
GetStartupInfo(&si);
si.hStdError = hWrite;
si.hStdOutput = hWrite; si.wShowWindow = SW_HIDE;
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
bRet = CreateProcess(NULL,childexe,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi);
if (!bRet))
{
CloseHandle(hWrite);
CloseHandle(hRead);
return false;
}
CloseHandle(hWrite);
char ReadBuff[256] = {0};
while(ReadFile(hRead,ReadBuff,256,&ReadNum,NULL))
{
ReadBuff[ReadNum] = '\0';
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?