当前位置: 代码迷 >> PB >> pb调用bat批处理文件的cmd对话框怎么不显示
  详细解决方案

pb调用bat批处理文件的cmd对话框怎么不显示

热度:48   发布时间:2016-04-29 08:18:37.0
pb调用bat批处理文件的cmd对话框如何不显示
求教各位:pb调用bat批处理文件的cmd对话框如何不显示。我用的是Run(aa_run.bat),程序运行期间一直要弹出cmd对话框,如果让bat程序运行又隐藏该对话框


------解决方案--------------------
用ShellExecute API函数
------解决方案--------------------
Run('aa_run.bat', Minimized!)
------解决方案--------------------
bat文件中开始部分加入 @echo off ~r~n
------解决方案--------------------
来晚了,不好意思,现在帖上代码:

C/C++ code
//====================================================================// 函数: of_executewait//--------------------------------// 描述: 调用其他程序,并用指定参数执行//--------------------------------// 参数:// value string as_executable 执行命令// value string as_commandparm 命令参数// value boolean ab_yield 等待返回时,是否释放cpu// value boolean ab_show   是否显示执行窗口//--------------------------------// 举例://    of_executewait(ls_command,ls_comm_para,TRUE,FALSE)//--------------------------------// 返回: Boolean//--------------------------------// 作者: Joshua Zou   日期: 2008年02月18日//--------------------------------// Copyright (c) 2002-2007 , All rights reserved.//--------------------------------// 修改历史:////====================================================================ULong lpExitCodeBoolean bRetSTARTUPINFO sinfoPROCESS_INFORMATION pinfosinfo.cb = 4 * 17sinfo.lpReserved = 0 // NULLsinfo.lpDesktop = 0 // NULLsinfo.lpTitle = 0 // NULLsinfo.dwX = 0sinfo.dwY = 0sinfo.dwXSize = 0sinfo.dwYSize = 0sinfo.dwXCountChars = 0sinfo.dwYCountChars = 0sinfo.dwFillAttribute = 0sinfo.dwFlags = 1sinfo.cbreserved2 = 0sinfo.lpReserved2 = 0sinfo.hStdInput = 0sinfo.hStdOutput = 0sinfo.hStdError = 0If ab_show Then    sinfo.wShowWindow = SW_NORMALElse    sinfo.wShowWindow = SW_HIDE // 默认隐藏执行窗口End IfbRet = CreateProcess(as_executable," " + as_commandparm,0,0,False,32,0,0,sinfo,pinfo)If Not bRet Then    MessageBox(MS_TITLE, "创建子进程错误,错误码:"+String(GetLastError()))    Return FalseEnd IfDo    //等待结束    WaitForSingleObject(pinfo.hProcess,0)    bRet = GetExitCodeProcess ( pinfo.hProcess, lpExitCode )    If ab_yield Then Yield() //等待返回循环中,释放cpuLoop Until ( bRet = True And lpExitCode <> 259 )Return True