pb调用bat批处理文件的cmd对话框怎么不显示
pb调用bat批处理文件的cmd对话框如何不显示
求教各位:pb调用bat批处理文件的cmd对话框如何不显示。我用的是Run(aa_run.bat),程序运行期间一直要弹出cmd对话框,如果让bat程序运行又隐藏该对话框
------解决方案--------------------
用ShellExecute API函数
------解决方案--------------------
Run('aa_run.bat', Minimized!)
------解决方案--------------------
bat文件中开始部分加入 @echo off ~r~n
------解决方案--------------------
来晚了,不好意思,现在帖上代码:
求教各位: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 lpExitCode Boolean bRet STARTUPINFO sinfo PROCESS_INFORMATION pinfo sinfo.cb = 4 * 17 sinfo.lpReserved = 0 // NULL sinfo.lpDesktop = 0 // NULL sinfo.lpTitle = 0 // NULL sinfo.dwX = 0 sinfo.dwY = 0 sinfo.dwXSize = 0 sinfo.dwYSize = 0 sinfo.dwXCountChars = 0 sinfo.dwYCountChars = 0 sinfo.dwFillAttribute = 0 sinfo.dwFlags = 1 sinfo.cbreserved2 = 0 sinfo.lpReserved2 = 0 sinfo.hStdInput = 0 sinfo.hStdOutput = 0 sinfo.hStdError = 0 If ab_show Then sinfo.wShowWindow = SW_NORMAL Else sinfo.wShowWindow = SW_HIDE // 默认隐藏执行窗口 End If bRet = CreateProcess(as_executable," " + as_commandparm,0,0,False,32,0,0,sinfo,pinfo) If Not bRet Then MessageBox(MS_TITLE, "创建子进程错误,错误码:"+String(GetLastError())) Return False End If Do //等待结束 WaitForSingleObject(pinfo.hProcess,0) bRet = GetExitCodeProcess ( pinfo.hProcess, lpExitCode ) If ab_yield Then Yield() //等待返回循环中,释放cpu Loop Until ( bRet = True And lpExitCode <> 259 ) Return True