vb.net窗口句柄 什么是窗口句柄

vb.net如何通過(guò)窗口句柄獲取進(jìn)程名

Imports?System.Runtime.InteropServices

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括伊川網(wǎng)站建設(shè)、伊川網(wǎng)站制作、伊川網(wǎng)頁(yè)制作以及伊川網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,伊川網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到伊川省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

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

可惡……我不會(huì)vb……臨時(shí)去七拼八湊查了點(diǎn)語(yǔ)法……盡力了

在vb.net中什么是窗口句柄 高手用通俗語(yǔ)言解釋

句柄是 Windows 系統(tǒng)中的概念,和VB.NET無(wú)關(guān)。

通俗地講,句柄就是一個(gè)數(shù)字,也就是一個(gè)編號(hào)。

比如說(shuō),你電腦中有10個(gè)窗口,每個(gè)窗口都會(huì)有一個(gè)編號(hào),這是操作系統(tǒng)區(qū)分各個(gè)窗口的依據(jù)

vb.net如何通過(guò)窗口句柄顯示窗口

首先聲明一下API

在你窗口最頂?shù)奈恢蒙蠈懮?/p>

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

'由于VB支持中文的 我就定義成 取窗口句柄 這個(gè)了

'在窗體中添加一個(gè)按鈕里面放進(jìn)下面代碼就OK了

Private Sub Command1_Click()

Dim 窗口句柄 As Long '聲明窗口句柄變量存儲(chǔ)

窗口句柄 = 取窗口句柄(vbNullString, "新建 文本文檔.txt - 記事本") '取窗口標(biāo)題的句柄 把得到窗口標(biāo)題句柄賦予給剛才 窗口句柄 這變量里

If 窗口句柄 = 0 Then '判斷窗口句柄是否等于0 如果等于0表示無(wú)法找到窗口句柄

MsgBox "無(wú)法找到需要的窗口句柄"

Else

MsgBox "已找到窗口句柄 句柄數(shù)為:" 窗口句柄

End If

End Sub

vb.net 窗口句柄獲取進(jìn)程名

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

說(shuō)明

在窗口列表中尋找與指定條件相符的第一個(gè)子窗口

返回值

Long,找到的窗口的句柄。如未找到相符窗口,則返回零。會(huì)設(shè)置GetLastError

參數(shù)表

參數(shù)

類型及說(shuō)明

hWnd1

Long,在其中查找子的父窗口。如設(shè)為零,表示使用桌面窗口(通常說(shuō)的頂級(jí)窗口都被認(rèn)為是桌面的子窗口,所以也會(huì)對(duì)它們進(jìn)行查找)

hWnd2

Long,從這個(gè)窗口后開始查找。這樣便可利用對(duì)FindWindowEx的多次調(diào)用找到符合條件的所有子窗口。如設(shè)為零,表示從第一個(gè)子窗口開始搜索

lpsz1

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

lpsz2

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

vb.net 創(chuàng)建窗口句柄時(shí)出錯(cuò),Timer 中出現(xiàn)問題

因?yàn)槟愦翱陉P(guān)閉的時(shí)候Time并沒有釋放,但是此時(shí)Label已經(jīng)不能訪問了

才會(huì)出現(xiàn)窗口句柄出錯(cuò),你試試加上下面的話

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

應(yīng)該就不會(huì)報(bào)錯(cuò)了。

希望能幫到你。

網(wǎng)頁(yè)標(biāo)題:vb.net窗口句柄 什么是窗口句柄
文章網(wǎng)址:http://muchs.cn/article36/hjdssg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、虛擬主機(jī)網(wǎng)站維護(hù)、品牌網(wǎng)站制作、用戶體驗(yàn)、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)