天天看點

VB.NET 通過移動滑鼠擷取窗體句柄為了程式設計友善使用的IDE是 SharpDevelop。簡單編寫一個擷取窗體句柄的程式,發現一些問題,特此記錄此文。不足之處請指正。 代碼如下:

@[TOC]VB.NET 通過移動滑鼠擷取窗體句柄

為了程式設計友善使用的IDE是 SharpDevelop。簡單編寫一個擷取窗體句柄的程式,發現一些問題,特此記錄此文。不足之處請指正。 代碼如下:

’ 由SharpDevelop建立。

’ 使用者: Administrator

’ 日期: 2019-05-28

’ 時間: 19:28

’ 要改變這種模闆請點選 工具|選項|代碼編寫|編輯标準頭檔案

Public Partial Class MainForm

Public Structure POINTAPI

Dim X As Integer

Dim Y As Integer

End Structure

'擷取滑鼠指針的目前位置

Private Declare Function GetCursorPos Lib "user32"Alias “GetCursorPos” (lpPoint As POINTAPI) As Integer

'傳回包含了指定點的視窗的句柄。忽略屏蔽、隐藏以及透明視窗

Private Declare Function WindowFromPoint Lib “user32” Alias “WindowFromPoint”(ByVal xPoint As Integer, ByVal yPoint As Integer) As Integer

'為指定的視窗取得類名

Private Declare Function GetClassName Lib “user32” Alias “GetClassNameA” (ByVal hwnd As Integer, ByVal lpClassName As String, ByVal nMaxCount As Integer) As Long

'取得一個窗體的标題(caption)文字,或者一個控件的内容(在vb裡使用:使用vb窗體或控件的caption或text屬性)

Private Declare Function GetWindowText Lib “user32” Alias “GetWindowTextA” (ByVal hwnd As Integer, ByVal lpString As String, ByVal cch As Integer) As Long

'-----------------------------

Public Sub New()

’ The Me.InitializeComponent call is required for Windows Forms designer support.

Me.InitializeComponent()

’ TODO : Add constructor code after InitializeComponents

End Sub

Sub Button1MouseUp(sender As Object, e As MouseEventArgs)
	Dim shubiao As POINTAPI
	Dim 類名 As String, 标題 As String
	類名 = Space(255)
	标題 = Space(255)
	Dim mm As Integer=GetCursorPos(shubiao)
	Dim x As Integer=Control.MousePosition.X'shubiao.X 
	Dim y As Integer=MousePosition.Y'shubiao.Y
	label1.Text=X.ToString() & " , " & Y.ToString()
	Dim hdc As Integer= WindowFromPoint(X,Y)
	textBox1.Text=hdc.ToString()
	
	GetWindowText(hdc, 标題, 255)
	Textbox2.Text = 标題
	GetClassName(hdc, 類名, 255)
	Textbox3.Text = 類名
End Sub
           

End Class

VB.NET 通過移動滑鼠擷取窗體句柄為了程式設計友善使用的IDE是 SharpDevelop。簡單編寫一個擷取窗體句柄的程式,發現一些問題,特此記錄此文。不足之處請指正。 代碼如下:

需要說明的是:api的定義,不能都使用 Long ,WindowFromPoint 就得使用 Integer。可能是使用的系統是WIN7-64的原因,有些使用Long類型的變量會出不了想要的結果。

繼續閱讀