• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    在VB中使用API關閉窗口

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 72次 | 進入軟件測試論壇討論

    領測軟件測試網 在進行VB編程過程中,有時需要通過程序控制終止某些程序。在實踐中可以使用一下一些方法:

        1。使用SendMessage

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

    hwnd 為需要關閉的窗口程序的窗口句柄;

    發送的消息可以用兩種選擇1,wMsg為WM_CLOSE,wParam,lParam為0;2,wMsg為WM_SYSCOMMAND,wParam為CS_CLOSE,lParam為0。

          2。使用TerminateProcess

    Private Declare Function TerminateProcess Lib "kernel32" Alias "TerminateProcess" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

      hProcess 為指定要中斷的一個進程的句柄 ;

    uExitCode 進程的一個退出代碼

    3。使用CloseWindow

    Private Declare Function CloseWindow Lib "user32" Alias "CloseWindow" (ByVal hwnd As Long) As Long

    hwnd為想要關閉窗口的句柄。

    4。如果要關閉所有的窗口可以使用BroadcastSystemMessage

    Private Declare Function BroadcastSystemMessage Lib "user32" Alias "BroadcastSystemMessage" (ByVal dw As Long, pdw As Long, ByVal un As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

    dw 為下述常數的一個或多個;
      BSF_FLUSHDISK
      每次處理完一條消息后,都對磁盤進行刷新(將未存盤的數據存下來
      BSF_FORCEIFHUNG
      如目標處于掛起狀態,則在設定的超時后到期返回
      BSF_IGNORECURRENTTASK
      發送任務不接收消息
      BSF_LPARAMBUFFER

      pdw 為下述常數的一個或多個;
      BSF_ALLCOMPONENTS
      消息進入能夠接收消息的每一個系統組件
      BSF_APPLICATIONS
      消息到達應用程序
      BSF_INSTALLABLEDRIVERS
      消息到達可安裝的驅動程序
      BSF_NETDRIVERS
      消息到達網絡驅動程序
      BSF_VXDS
      消息到達系統設備驅動程序

      un 為消息編號;

    消息和使用SendMessage時相同。

    5。使用ExitWindowsEx關閉所有程序

    Private Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

    將uFlags 設置為EWX_FORCE強迫中止沒有響應的進程。

    dwReserved 為0

    注意!由于以下原因導致不能關閉程序。

    1。在NT/2000/XP的系統中,進程句柄需要有PROCESS_TERMINATE的訪問權限才能被殺掉。

    2。如果要關閉的進程正處于Kernal-Mode,那么TerminateProcess函數就會不起作用。

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>