熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PB編程 >> 正文

在PB中調用外部程序並判斷其運行結束

2013-11-23 17:25:27  來源: PB編程 

  您正在看的Powerbuilder教程是:在PB中調用外部程序並判斷其運行結束

  在PB中經常要調用外部程序並等待此程序運行結束後顯示相關信息如我們要備份Adaptive Server Anywhere 數據庫在備份結束後顯示備份完成!的提示信息如果在調用備份程序dbbackup後馬上用messagebox顯示提示信息那麼程序運行時則會出現這種情況 dbbackup備份程序還在運行備份完成!的提示就已經顯示了顯然不符合我們的設想對於這種情況我們可以借助API函數FindWindowA()IsWindow()和PB本身函數yield()來解決

  聲明API函數

Function long FindWindowA (String lpClassName String lpWindowName ) Library userdll
Function boolean IsWindow (Long hwnd ) Library userdll

  調用

ulong ll_handle
int li_loop

SetPointer(HourGlass!) //設置鼠標指針
//運行備份數據庫程序dbbackup並使其最小化
run(dbbackup c ~uid=dba;pwd=sql; dbf=D:\Sybase\Adaptive Server Anywhere \asademodb~ d:\backup Minimized!)

ll_handle =
//循環至dbbackup窗口打開
Do While ll_handle =
    ll_handle = FindWindowA(ttydbbackup)
    yield() //
loop    
//等待dbbackup窗口關閉
Do While isWindow(ll_handle)
    Yield()
Loop
//應用執行完成
MessageBox(提示信息 備份完成!)


From:http://tw.wingwit.com/Article/program/PB/201311/24551.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.