• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發(fā)教程 > 詳細頁面

        用Windows API取得窗體句柄二例

        用Windows API取得窗體句柄二例

        更新時間:2022-05-05 文章作者:未知 信息來源:網(wǎng)絡 閱讀次數(shù):

        文/胡克

          Windows通過句柄(Handle)識別每個窗體、控件、菜單和菜單項,當程序運行時,它所包含的每個部件都有一個惟一確定的句柄同其他的部件相區(qū)別句柄在Windows API中具有舉足輕重的作用,現(xiàn)舉三例,有興趣的讀者不妨一試。

          獲取窗體和控件的句柄

          
          步驟如下:

          1、為了看到顯示于屏幕上所有的窗體和控件的句柄,用SetWindowPos函數(shù)設置窗口始終在最上面,其他窗口不能覆蓋它,并使其只以標題顯示于屏幕左上角。

          (1)新建一工程,打開API Viwer:Add-ins→API Viewer→File→Load text file→Win32api.txt。

          (2)將SetWindowPos函數(shù)的聲明粘貼到窗體的聲明部分:Private Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long。

          (3)程序啟動時調(diào)用SetWindowPos函數(shù),窗體Load事件代碼如下:

          Private Sub Form_Load()

          SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, conSwpNoActivate Or conSwpShowWindow'使窗體一直置于最頂層

          End Sub

          臥龍傳說提醒:當?shù)诙䝼參數(shù)hWndInsertAfter的值為-1時置于頂層;值為-2時不置于頂層。

          2、為了找到鼠標指針的X和Y坐標,用上面同樣的方法,通過API Viewer工具把獲取的鼠標指針位置的API函數(shù)GetCursorPos的聲明和結構類型聲明粘貼到窗體的聲明部分:

          Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

          Private Type POINTAPI

           x As Long

           y As Long

          3、用API Viewer把指定點的窗口的句柄的API函數(shù)WindowFromPointXY的聲明粘貼到窗體的聲明部分:

          Private Declare Function WindowFromPointXY Lib "user32" Alias

          "WindowFromPoint" (ByVal xPoint As Long, ByVal yPoint As Long) As Long

          4、在窗體上添加timer控件,并把Interval屬性設為500(毫秒),用如下的Timer事件完成操作:

          Private Sub Timer1_Timer()

          Dim xy As POINTAPI'(聲明變量類型)

          GetCursorPos xy'(取得XY的座標)

          ahwnd = WindowFromPointXY(xy.x, xy.y) '(取得當前鼠標坐標下窗口的句柄)

          Me.Caption = ahwnd'(在標題欄顯示當前坐標下窗口的句柄)

          End Sub

          獲取激活窗口的句柄

          用GetFocus函數(shù)可獲得激活窗口(擁有輸入焦點的窗口)的句柄。

          1、用API Viewer工具將函數(shù)GetFocus的聲明粘貼到窗體的聲明部分:

          Private Declare Function GetFocus Lib "user32" Alias "GetFocus" () As Long

          2、新建一工程,添加兩個文本框text1和text2,兩個文本框控件的GotFocus事件代碼如下:

          Sub Text1_GotFocus()

           h&& = GetFocus&&()

           Debug.Print h&&(在立即窗口顯示當前窗口句柄)

          End Sub

          Private Sub Text2_GotFocus()

           h&& = GetFocus&&()

          Debug.Print h&

          End Sub

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲人成在线播放网站岛国| 免费国产成人高清视频网站| 亚洲一本综合久久| 中文字幕免费人成乱码中国| 亚洲国产精品无码久久九九| 一区二区三区免费在线观看| 久久国产成人亚洲精品影院| 人成免费在线视频| 亚洲色婷婷六月亚洲婷婷6月| 足恋玩丝袜脚视频免费网站| 久久亚洲国产精品| 1000部拍拍拍18勿入免费视频下载| 精品一区二区三区免费毛片爱| 国产视频精品免费| 亚洲熟妇成人精品一区| 日韩免费视频一区| 十八禁的黄污污免费网站| 亚洲午夜久久久久久噜噜噜| 午夜爽爽爽男女免费观看影院| 日本高清免费中文字幕不卡| 男人扒开添女人下部免费视频| 中文字幕免费在线观看| 亚洲三级视频在线观看| 在线观看免费大黄网站| AV激情亚洲男人的天堂国语| 亚洲综合色在线观看亚洲| 嫩草在线视频www免费看| 亚洲精品**中文毛片| 国产网站免费观看| 插鸡网站在线播放免费观看| 久久久久亚洲AV无码麻豆| 国产免费久久精品99re丫y| 免费无遮挡无遮羞在线看 | 男女啪啪免费体验区| 国产偷国产偷亚洲高清日韩| 91av免费观看| 日韩在线一区二区三区免费视频| 麻豆国产人免费人成免费视频 | 思思99re66在线精品免费观看| 内射少妇36P亚洲区| 日韩免费视频播播|