执行批处理,如何判断其窗口已经关闭

r00_a2lBUR 2017-06-12 10:08:35
我用执行批处理的方法实现ftp文件上传,但打开的批处理执行窗口还没有关闭,接下来的Messagebox已经执行,我是想在批处理执行完毕后,再执行后面的代码,我试着在批处理后面再加上一条文件复制命令,http://bbs.csdn.net/topics/392179225,但是也是文件还没有上传好,文件复制命令已经执行。请教一下各位,这个要怎么做比较好?
...全文
603 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
r00_a2lBUR 2017-06-14
  • 打赏
  • 举报
回复
引用 1 楼 hovoy 的回复:
//构造对象uo_get_exename的函数of_getexe(String as_exename) ///////////////////////////of_getexe(String as_exename)//////////////////////// //功能:枚举进程并返回指定进程号PID //传入:String as_exename 文件名 //返回:Long ///////////////////////////////////////////////////////////// s_Process lst_Process string ls_filename[100] ,ls_curexename ulong ln_ProcessID,ln_SameCount,ln_Snapshot,ln_Circle,ln_Count,ul_PID ul_PID = 0 ln_Snapshot = CreateToolhelp32Snapshot(2,0) if (ln_Snapshot<1) then return 0 //创建快照失败 lst_Process.StructSize = 296 //创建快照失败 296是windows决定的 if Process32First(ln_Snapshot,lst_Process)=0 then return 0 //枚举当前权限下的进程 debugbreak() do while true if Process32Next(ln_Snapshot,lst_Process)=0 then exit ln_Count = ln_Count + 1 ls_FileName[ln_Count] = lst_Process.FileName If Lower(ls_FileName[ln_Count]) = as_exename Then //取得进程号 ul_PID = lst_Process.ProcessID //messagebox(string(ul_PID),ls_FileName[ln_Count]) End If loop return ul_PID
谢谢回复,不过由于ftp服务器在端口管理上比较复杂,暂时不用ftp上传,有机会再试了。
hovoy 2017-06-13
  • 打赏
  • 举报
回复
//构造对象uo_get_exename的函数of_getexe(String as_exename) ///////////////////////////of_getexe(String as_exename)//////////////////////// //功能:枚举进程并返回指定进程号PID //传入:String as_exename 文件名 //返回:Long ///////////////////////////////////////////////////////////// s_Process lst_Process string ls_filename[100] ,ls_curexename ulong ln_ProcessID,ln_SameCount,ln_Snapshot,ln_Circle,ln_Count,ul_PID ul_PID = 0 ln_Snapshot = CreateToolhelp32Snapshot(2,0) if (ln_Snapshot<1) then return 0 //创建快照失败 lst_Process.StructSize = 296 //创建快照失败 296是windows决定的 if Process32First(ln_Snapshot,lst_Process)=0 then return 0 //枚举当前权限下的进程 debugbreak() do while true if Process32Next(ln_Snapshot,lst_Process)=0 then exit ln_Count = ln_Count + 1 ls_FileName[ln_Count] = lst_Process.FileName If Lower(ls_FileName[ln_Count]) = as_exename Then //取得进程号 ul_PID = lst_Process.ProcessID //messagebox(string(ul_PID),ls_FileName[ln_Count]) End If loop return ul_PID

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧