我调用了 run(‘autobk.bat’)后,怎样判断这个进程是否结束了呢?急急急!!!

supermanszr 2003-08-21 03:31:21
我调用了 run(‘autobk.bat’),用它来执行一个数据库的导出操作,这时会弹出一个dos窗口,我怎样才能判断 autobk.bat 里面的指令是否已经执行完了,或是这个dos窗口是否已经关闭了??
各位大侠请指点一下,有代码最好!!!
...全文
85 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
老吴子 2003-10-11
  • 打赏
  • 举报
回复
用API函数CreateProcess+WaitForSingleObject
Libra_Chen 2003-09-20
  • 打赏
  • 举报
回复
我有同样的问题 :怎么用代码关掉打开的xls文件。
zhiming99 2003-09-20
  • 打赏
  • 举报
回复
在BAT文件首部加 @echo this's a file>test.tmp
文件执行中会产生TEST。TMP文件。

在BAT文件尾部加 delete test.tmp
执行完毕时会删除此文件。

在程序中加个循环,发现没有此文件了,即文件已执行完!不关此窗口也无所谓,不过一直的话,会有一堆DOS。

dingly1978 2003-09-08
  • 打赏
  • 举报
回复
shellexecute() and up
liujiaqiang 2003-09-05
  • 打赏
  • 举报
回复
楼上的他们都很正确,只是如果你到win2000中执行时,就有问题了,好像执行不成功耶..
runsoft 2003-09-05
  • 打赏
  • 举报
回复
这个玩意不好。
cmcx 2003-09-01
  • 打赏
  • 举报
回复
哈哈,楼上的兄台也是这个问题啊!?
我写了一个把数据窗口中数据倒出到EXCEL文件的程序,也是没发杀掉EXCEL。EXE这个进程。
这样再一次运行时就会有问题,不知道有没有哪为大侠知道怎么搞!
ht20008210 2003-08-30
  • 打赏
  • 举报
回复
我用PB和EXCEL做了一个程序,但我始终关不了那个“EXCEL.EXE”的进程。我执行多少次导入,就有多少个这样的进行,只有手工关,好麻烦。请问谁知道怎么做,我在程序里打开OLE,程序到最后,也关了的。
还有怎么发新贴子,我看了半天没有看到!
qian_0_wei 2003-08-29
  • 打赏
  • 举报
回复
其实可以用 start win的dos命令

你可以看 start/? 看一下

不用api的
jxc 2003-08-28
  • 打赏
  • 举报
回复
// 代替run
FUNCTION ULong WinExec( REF String lpCmdLine, ULong nCmdShow ) LIBRARY "kernel32.dll"

nCmdShow :0 不显示DOS窗口

该函数是异步的,即执行完后才返回
gcg_cumt 2003-08-26
  • 打赏
  • 举报
回复
需要注意的是把bat文件的属性设置为“完成后关闭”
gcg_cumt 2003-08-26
  • 打赏
  • 举报
回复
首先声明:FUNCTION ulong ShellExecute(ulong hwnd,ref string lpOperation,ref string lpFile,ref string lpParameters,ref string lpDirectory,ulong nShowCmd) LIBRARY "shell32.dll" alias for 'ShellExecuteA'


ls_parm='xxx'
ls_operation='open'
ls_path=GetCurrentDirectory()
ls_file=ls_path+'\rebuild.bat'
ls_system_dir=系统路径(即cmd.exe存在的路径)

ShellExecute(handle(parent),ls_operation,ls_file,ls_parm,ls_path,0)

//循环到CMD窗口打开
do
ll_handle = FindWindowA("ConsoleWindowClass",ls_system_dir+'\'+"cmd.exe")
yield()
loop until ll_handle<>0

//一直循环到CMD窗口关闭
Do While isWindow(ll_handle)
Yield()
Loop

messagebox('','执行完毕')
williamzhu 2003-08-26
  • 打赏
  • 举报
回复
有哪位大哥可以说得清楚一点?最好给出源程序
zjhclf 2003-08-21
  • 打赏
  • 举报
回复
up
hexubing 2003-08-21
  • 打赏
  • 举报
回复
支持楼上。
根据窗口标题查找句柄
eastpond 2003-08-21
  • 打赏
  • 举报
回复
用这个api吧
function ulong FindWindowA(ulong classname,string windowname) library "User32.dll"
polugen 2003-08-21
  • 打赏
  • 举报
回复
你可以用OpenProcess

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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