程序里调用DOS命令,网上一般介绍说用system()函数。但是system()函数会有黑窗口跳出来,于是想到了如下办法:
//'cmd' is DOS command line, like "mkdir d://test"
void ExeCmd(char* cmd)
{
char param[10000];
sprintf(param, "/C /"%.1000s/"", cmd);
HINSTANCE hresult = ShellExecuteA(NULL, "open", "cmd.exe", param, NULL, SW_HIDE);
return;
}
这个方式比system(cmd)要好,因为这个方式不会有黑窗口。
这个函数用来删除目录也非常好,比如ExeCmd("rmdir /s /q d://test");
本文介绍了一种在程序中执行DOS命令而不显示黑窗口的方法。通过使用ShellExecuteA函数并设置SW_HIDE标志,可以避免弹出命令提示符窗口,适用于需要后台执行命令的场景。
867

被折叠的 条评论
为什么被折叠?



