CreateProcess执行一个控制台程序,隐藏DOS窗口


STARTUPINFO   StartupInfo;//创建进程所需的信息结构变量   
GetStartupInfo(&StartupInfo);   
StartupInfo.lpReserved=NULL;   
StartupInfo.lpDesktop=NULL;   
StartupInfo.lpTitle=NULL;   
StartupInfo.dwX=0;   
StartupInfo.dwY=0;   
StartupInfo.dwXSize=0;   
StartupInfo.dwYSize=0;   
StartupInfo.dwXCountChars=500;   
StartupInfo.dwYCountChars=500;   
StartupInfo.dwFlags=STARTF_USESHOWWINDOW;   
StartupInfo.wShowWindow=SW_HIDE;   
//说明进程将以隐藏的方式在后台执行   
StartupInfo.cbReserved2=0;   
StartupInfo.lpReserved2=NULL;   
StartupInfo.hStdInput=stdin;   
StartupInfo.hStdOutput=stdout;   
StartupInfo.hStdError=stderr;   
PROCESS_INFORMATION   piProcess;   
BOOL   bRet;   
bRet   =   CreateProcess(modName,NULL,NULL,NULL,TRUE,CREATE_NO_WINDOW ,NULL,NULL,&StartupInfo,&piProcess);  
if(bRet)   
CloseHandle(piProcess.hThread);       
CloseHandle(piProcess.hProcess);
注意其中的StartupInfo.dwFlags=STARTF_USESHOWWINDOW;是必须的,要不然showwindow的参数将无效,详细的MSDN上写得清楚


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM