• <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中判斷Windows9x的運行模式

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

    領測軟件測試網Windows下編程,經常發現有不少功能Windows系統已經做了,如果能夠直接調用,就可省去不少程序的編寫,并能提高程序的運行效率。在很多情況下,我們都可以用“Ctrl + X”、“Ctrl + C”、 “Ctrl + V”和“Ctrl + Z”分別進行“剪切”、“復制”、“粘貼”和“撤消”操作,由此想到,如果我們能夠在程序中調用系統的這些功能,就無需為如何實現這些操作而操心了。經過不斷的探索,終于發現SendMessage和PostMessage能夠擔此重任,真是如獲至寶,于是迫不及待地把它們介紹給各位朋友。
      用VB5的“API瀏覽器”可以很容易地找到這兩個API 函數:
    Declare Function SendMessage Lib “user32” Alias “SendMessageA” _(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _lParam As Any) 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
      這兩個函數的功能幾乎是一樣的,只是SendMessage是直接調用Windows函數來發送消息,只有這個消息完全被處理后此函數才返回,而PostMessage則給窗體的消息隊列增加一個消息,這個消息將在未來某個時候進行正常事件處理時得到處理。以下僅以SendMessage為例。
      函數中雖然有四個參數,但關鍵的是前兩個:hwnd 和wMsg。Hwnd是句柄,Microsoft Windows應用程序中的每個窗體和控件都擁有一個句柄,通過句柄可以指明函數的操作對象;wMsg是一個十六進制數,代表了函數要發送的具體消息。
      下面以具體例子說明如何用SendMessage實現“剪切”、“復制”、“粘貼”、“撤消” 和“刪除”功能:
      在窗體中放置一個文本框Text1和五個按鈕,分別執行以上五種功能,編寫以下程序。
    Option Explicit
    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
      Const WM_CUT = &H300
      Const WM_COPY = &H301
      Const WM_PAST = &H302
      Const WM_CLEAR = &H303
      Const WM_UNDO = &H304
      Dim fb As Long
      
      Private Sub cmdClear_Click()
       fb = PostMessage(Text1.hwnd, WM_CLEAR, 0, 0)
      End Sub
      Private Sub cmdCopy_Click()
       fb = SendMessage(Text1.hwnd, WM_COPY, 0, 0)
      End Sub
      Private Sub cmdCut_Click()
       fb = SendMessage(Text1.hwnd, WM_CUT, 0, 0)
      End Sub
      Private Sub cmdPast_Click()
       fb=SendMessage(Text1.hwnd, WM_PAST, 0, 0)
      End Sub
      Private Sub cmdUndo_Click()
       fb=SendMessage(Text1.hwnd, WM_UNDO, 0, 0)
      End Sub
      除了TextBox外SendMessage 還可以對RitchTextBox和ComboBox等進行操作,只要相應改變hwnd參數即可。

    延伸閱讀

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


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