天天看点

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类型的变量会出不了想要的结果。

继续阅读