rust执行cmd命令隐藏窗口

// #![windows_subsystem = "windows"]

use std::process::{Command,Stdio};
use std::os::windows::process::CommandExt;

fn main(){
	let output = Command::new("cmd").creation_flags(0x08000000).arg("/c").arg("ping baidu.com")
	.stdout(Stdio::piped()).output().expect("cmd exec error!");
	println!("{}", String::from_utf8_lossy(&output.stdout));
}

解决思路:
主要原理是,通过函数creation_flags设置CreateProcess函数的creation flags,设置为隐藏窗口即可。

图一

fn creation_flags(&mut self, flags: u32) -> &mut Command

图二

Process Creation Flags

图三

Source

posted @ 2023-05-29 17:06  成豪  阅读(550)  评论(0编辑  收藏  举报