国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
用VB輕松調(diào)用其他程序
用VB輕松調(diào)用其他程序

  我們編寫程序時,有時會遇到在一個程序中調(diào)用并控制另一個程序執(zhí)行的情況,在一些編程語言中實現(xiàn)起來較為繁瑣,但如果用VB編寫時,則可輕松實現(xiàn)。下面我就以在程序中調(diào)用“計算器”為例,總結了以下幾種方法:

  一、以異步方式來執(zhí)行其他程序

  Shell 函數(shù)是以異步方式來調(diào)用其他程序的。也就是說,用Shell啟動的程序可能還沒有完成執(zhí)行過程,就已經(jīng)執(zhí)行到 Shell 函數(shù)之后的語句。

  語法:Shell(pathname[,windowstyle])

  說明:pathname:必要參數(shù)。Variant (String),要執(zhí)行的程序名,以及任何必需的參數(shù)或命令行變量,可能還包括目錄或文件夾,以及驅動器。

  例如:RetVal = Shell(″C:WINDOWSCALC.EXE″, 1) ′ 調(diào)用計算器。

  二、以同步方式來執(zhí)行其他程序

  有時候,我們需要讓VB在執(zhí)行完外部程序后再執(zhí)行下一語句,這就需要使用API函數(shù)。

  我們可通過OpenProcess和CloseHandle函數(shù)來檢測調(diào)用軟件的運行情況。這兩個函數(shù)的聲明如下:

  Declare Function OpenProcess Lib ″kernel32″ Alias ″OpenProcess″ (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

  Declare Function CloseHandle Lib ″kernel32″ Alias ″CloseHandle″ (ByVal hObject As Long) As Long

  建立下面函數(shù),用以判斷程序是否在運行,如果是,則在運行時返回True。

  Function IsRunning(ByVal ProgramID) As Boolean  ′傳入進程標識ID

    Dim hProgram As Long   ′被檢測的程序進程句柄

    hProgram=OpenProcess(0,False,ProgramID)

    If Not hProgram=0 Then

     IsRunning=True

    Else

     IsRunning=False

    End If

    CloseHandle hProgram

  End Function

  例如要調(diào)用計算器(CALC.EXE)并等到它運行完成后再執(zhí)行下一語句,可以使用以下代碼:

   Dim RetVal

   MsgBox ″開始運行″

   RetVal = Shell(″C:WINDOWSCALC.EXE″, 1)

   While IsRunning(RetVal)

     DoEvents

   Wend

   MsgBox ″結束運行″

  三、關閉正在運行中的其他軟件

  如果要在程序中關閉正在運行中的其他程序,可以先使用FindWindow函數(shù)找出相應的程序句柄,然后調(diào)用PostMessage函數(shù)關閉該程序即可。

  這兩個函數(shù)的聲明如下:

  Declare Function FindWindow Lib ″user32″ Alias ″FindWindowA″ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

  Declare Function PostMessage Lib ″user32″ Alias ″PostMessageA″ (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

  例如要檢測“計算器”程序是否正在運行,如果是則關閉它,可以使用如下代碼來實現(xiàn):

   Dim winHwnd As Long

   Dim RetVal As Long

   winHwnd=FindWindow(vbNullString,″計算器″)

   If winHwnd〈〉0 Then

     RetVal=PostMessage(winHwnd,&H10,0&,0&)

     If RetVal=0 Then

        MsgBox ″關閉計算器出錯!″

     End If

   Else

     MsgBox ″計算器程序沒有運行。″

   End If

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
用VB關閉程序
VB無所不能之六:對程序運行的監(jiān)控
關閉指定的程序
EXE變成DOC
用VB實現(xiàn)“木馬”式隱形運行程序
如何獲取CPU的溫度
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服