189 8069 5689

vb.net窗口句柄 vbnet获取当前窗口句柄

vb.net 获取窗口文本输入框句柄怎么弄?

可以说下你要干哈吗?

目前创新互联建站已为上1000+的企业提供了网站建设、域名、虚拟空间、成都网站托管、企业网站设计、临海网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

我看了一下这个框框,里面只有一个类名为edit的,也就是你要获取的框框,应该比较简单的,只要你能找到他的爸爸就可以了。

vb.net如何通过窗口句柄获取进程名

Imports System.Runtime.InteropServices

Module winapi

DllImport("User32.dll", CallingConvention:=CallingConvention.StdCall, EntryPoint:="GetWindowThreadProcessId") _

Function GetWindowThreadProcessId(ByVal hwnd As IntPtr, ByRef procId As UInt32) As UInt32

End Function

DllImport("kernel32.dll", CallingConvention:=CallingConvention.StdCall, EntryPoint:="OpenProcess") _

Function OpenProcess(ByVal access As UInt32, ByVal inherit As Boolean, ByVal procid As UInt32) As IntPtr

End Function

DllImport("kernel32.dll", CallingConvention:=CallingConvention.StdCall, EntryPoint:="CloseHandle") _

Function CloseHandle(ByVal handle As IntPtr) As Boolean

End Function

DllImport("psapi.dll", CallingConvention:=CallingConvention.StdCall, EntryPoint:="GetModuleFileNameExW", Charset:=CharSet.Unicode) _

Function GetModuleFileNameExW(ByVal hProc As IntPtr, ByVal hMod As IntPtr, ByVal arrName() As Char, ByVal arrSize As UInt32) As UInt32

End Function

End Module

Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim procid As UInt32

GetWindowThreadProcessId(Me.Handle, procid)

Dim handle As IntPtr

handle = OpenProcess(1040, False, procid)

Dim name(65536) As Char

Dim nameSize As UInt32 = GetModuleFileNameExW(handle, IntPtr.Zero, name, 65536)

Dim strName As String = New String(name, 0, nameSize)

CloseHandle(handle)

MsgBox(strName)

End Sub

End Class

可恶……我不会vb……临时去七拼八凑查了点语法……尽力了

vb.net 窗口句柄获取进程名

FindWindowEx

VB声明

Declare Function FindWindowEx Lib "user32" Alias

"FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As

String, ByVal lpsz2 As String) As Long

说明

在窗口列表中寻找与指定条件相符的第一个子窗口

返回值

Long,找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError

参数表

参数

类型及说明

hWnd1

Long,在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)

hWnd2

Long,从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索

lpsz1

String,欲搜索的类名。零表示忽略

lpsz2

String,欲搜索的类名。零表示忽略

在vb.net中什么是窗口句柄 高手用通俗语言解释

句柄是 Windows 系统中的概念,和VB.NET无关。

通俗地讲,句柄就是一个数字,也就是一个编号。

比如说,你电脑中有10个窗口,每个窗口都会有一个编号,这是操作系统区分各个窗口的依据

vb.net 创建窗口句柄时出错,Timer 中出现问题

因为你窗口关闭的时候Time并没有释放,但是此时Label已经不能访问了

才会出现窗口句柄出错,你试试加上下面的话

Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

timer1.Close()

timer2.Close()

End Sub

应该就不会报错了。

希望能帮到你。

vb.net如何通过窗口句柄显示窗口

首先声明一下API

在你窗口最顶的位置上写上

Private Declare Function 取窗口句柄 Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

'由于VB支持中文的 我就定义成 取窗口句柄 这个了

'在窗体中添加一个按钮里面放进下面代码就OK了

Private Sub Command1_Click()

Dim 窗口句柄 As Long '声明窗口句柄变量存储

窗口句柄 = 取窗口句柄(vbNullString, "新建 文本文档.txt - 记事本") '取窗口标题的句柄 把得到窗口标题句柄赋予给刚才 窗口句柄 这变量里

If 窗口句柄 = 0 Then '判断窗口句柄是否等于0 如果等于0表示无法找到窗口句柄

MsgBox "无法找到需要的窗口句柄"

Else

MsgBox "已找到窗口句柄 句柄数为:" 窗口句柄

End If

End Sub


当前文章:vb.net窗口句柄 vbnet获取当前窗口句柄
分享链接:http://cdxtjz.cn/article/hppdgg.html

其他资讯