首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > 在PB中调用外部程序并判断其运行结束
【标  题】:在PB中调用外部程序并判断其运行结束
【关键字】:程序,PB,PB
【来  源】:网络

在PB中调用外部程序并判断其运行结束

在PB中经常要调用外部程序并等待此程序运行结束后显示相关信息。如我们要备份Adaptive Server Anywhere 6.0数据库,在备份结束后显示"备份完成!"的提示信息,如果在调用备份程序dbbackup后马上用messagebox显示提示信息,那么程序运行时则会出现这种情况: dbbackup备份程序还在运行,"备份完成!"的提示就已经显示了,显然不符合我们的设想。对于这种情况,我们可以借助API函数FindWindowA()、IsWindow()和PB本身函数yield()来解决。

声明API函数:
Function long FindWindowA (String lpClassName , String lpWindowName ) Library "user32.dll"
Function boolean IsWindow (Long hwnd ) Library "user32.dll"

调用:
ulong ll_handle
int li_loop

SetPointer(HourGlass!) //设置鼠标指针
//运行备份数据库程序dbbackup,并使其最小化
run("dbbackup -c ~"uid=dba;pwd=sql; dbf=D:\Sybase\Adaptive Server Anywhere 6.0\asademo.db~" d:\backup", Minimized!)

ll_handle = 0
//循环至dbbackup窗口打开
Do While ll_handle = 0
ll_handle = FindWindowA("tty","dbbackup")
yield() //
loop
//等待dbbackup窗口关闭
Do While isWindow(ll_handle)
Yield()
Loop
//应用执行完成
MessageBox("提示信息", "备份完成!")

命令按钮怎么不能用键盘?:【上一篇】
建立和部署PowerBuilder组件:【下一篇】
【相关文章】
  • 用PB开发多媒体数据库管理系统
  • 如何制作PB安装程序
  • 为PB的TreeView实现同步选择
  • 为你的程序添加热键功能
  • 如何在PB中创建图标栏应用
  • 在pb的程序中屏蔽ctrl alt del 和 windows键
  • PB下使用TreeView控件实现多级分类检索
  • 如何在pb中创建COM组件,并在asp中调用并返回结果集
  • 如何在pb9中调用WebService
  • pb6怎样得到字符串中汉字的个数?
  • 【随机文章】
  • define的一种用法
  • "谁持彩练当空舞"-- 看Java、C#大比拚(3)
  • 找出Windows 2003识别不了的移动硬盘
  • 第二章﹕開機與關機
  • PHP脚本的10个技巧(1)
  • Linux网络的管理员的经验:网卡要匹配(图)
  • 如何在VB中实现目录遍历
  • 用VC写Assembly代码(6)--附录1[堆和栈的区别]
  • 减少邮件蠕虫病毒的危害
  • 使用session来实现可维护、简洁的导航组件
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.