求教各位: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