我使用_popen启动进程来运行命令并收集输出
这是我的c ++代码:
bool exec(string &cmd, string &result)
{
result = "";
FILE* pipe = _popen(cmd.c_str(), "rt");
if (!pipe)
return(false);
char buffer[128];
while(!feof(pipe))
{
if(fgets(buffer, 128, pipe) != NULL)
result += buffer;
}
_pclose(pipe);
return(true);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有控制台窗口打开的情况下这样做(就像目前在_popen语句中那样)?
目前我使用系统(“\”C:\ Program Files \ Common Files \ microsoft共享\ ink \ TabTip.exe \“”); 打开虚拟键盘和系统(“TASKKILL /IM TabTip.exe /F”);杀死它
它似乎有效,但总是弹出一个控制台窗口,我该如何摆脱它?谢谢!