exe、msi、dos、bat等静默运行,后台运行,不弹窗的解决办法

1、exe程序本身不想显示, 在源码开头中加入   #pragma comment( linker, “/subsystem:windows /entry:mainCRTStartup” )   2、打开其他的exe          2.1使用WinExec(LPCSTR, UInt)函数 其第一个参数相当于system函数的参数,第二个参数可以设置窗口是否显示,SW_HIDE这个宏表示隐藏窗口,例如: WinExec(cmd.c_str(),SW_HIDE);//cmd(string类型)中为我们要调用的程序名及其参数, 如 “dir *.exe ” 但是这个有一个问题,这个函数创建完这个进程后就返回了,也就是说它返回后,该进程不一定已经结束 另外,第一个参数不能有空格         2.2 使用ShellExecute函数 ShellExecute(NULL,”open”,”calc.exe”,””,””, SW_HIDE);            2.3 使用ShellExecuteEx函数 ShellExecuteEx(SHELLEXECUTEINFO*)函数 其参数是一个结构体,具体作用还是类似于system的参数,使用例子: SHELLEXECUTEINFO ShExecInfo = {0}; ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;   //确保返回hProcess用于了解打开的东西的生命周期 ShExecInfo.hwnd = NULL; ShExecInfo.lpVerb …