vb.net檢測(cè)按鍵 vbs檢測(cè)按鍵是否按下

VB.net程序如何在后臺(tái)判斷用戶按了什么鍵?

在窗體的on key press \ on key down事件里面判斷,并根據(jù)你的限制條件決定是否show你的窗體

創(chuàng)新互聯(lián)公司自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元興寧做網(wǎng)站,已為上家服務(wù),為興寧各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

vb.net 怎么知道按下了多個(gè)按鍵

用API ?GetKeyboardState?,判斷所有的鍵里哪些被按下了。

下面的是判斷鍵盤燈的狀態(tài)

Public?Class?NativeMethods

Private?Shared?keyState()?As?Byte

DllImport("user32.dll")?_

Private?Shared?Function?GetKeyboardState(ByVal?keyState()?As?Byte)?As?Boolean

End?Function

Private?Shared?Sub?Update()

keyState?=?New?Byte(256)?{}

Dim?result?As?Boolean?=?GetKeyboardState(keyState)

'?Check?for?error:

If?result?=?False?Then

Debug.WriteLine("GetKeyBoardState?error:?"??Marshal.GetLastWin32Error)

Throw?New?Exception("GetKeyBoardState?error:?"??Marshal.GetLastWin32Error)

End?If

End?Sub

Public?Enum?LightState

Off

[On]

End?Enum

'?Example?-?the?keyboard?lights...

Public?Shared?ReadOnly?Property?CapsLockState()?As?LightState

Get

Update()

Dim?isOn?As?Boolean?=?(keyState(Keys.CapsLock)?=?1)

Return?IIf(isOn,?LightState.On,?LightState.Off)

End?Get

End?Property

Public?Shared?ReadOnly?Property?NumLockState()?As?LightState

Get

Update()

Dim?isOn?As?Boolean?=?(keyState(Keys.NumLock)?=?1)

Return?IIf(isOn,?LightState.On,?LightState.Off)

End?Get

End?Property

Public?Shared?ReadOnly?Property?ScrollLockState()?As?LightState

Get

Update()

Dim?isOn?As?Boolean?=?(keyState(Keys.Scroll)?=?1)

Return?IIf(isOn,?LightState.On,?LightState.Off)

End?Get

End?Property

End?Class

VB.NET 怎樣識(shí)別用戶按下的 Shift 按鍵??

這就要調(diào)用API函數(shù)了 給你代碼吧 記得給點(diǎn)分啊

Private Const KeysM = H8000

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown

Me.Text = e.KeyValue

If e.KeyValue = Keys.ShiftKey And GetAsyncKeyState(160) And KeysM Then

MsgBox("你按的是左SHIFT")

ElseIf e.KeyValue = Keys.ShiftKey And GetAsyncKeyState(161) And KeysM Then

MsgBox("你按的是右SHIFT")

End If

End Sub

利用VB.NET怎樣使窗體在沒有焦點(diǎn)時(shí)也能檢測(cè)鍵盤事件?

窗體內(nèi)檢測(cè)按鍵

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Me.KeyPreview = True '注冊(cè)窗體的鍵盤事件

End Sub

在TextBox1中顯示按鍵代碼

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown

TextBox1.Text = Str(e.KeyCode) + vbCrLf

End Sub

窗體沒有焦點(diǎn),用窗體監(jiān)測(cè)鍵盤輸入緩沖區(qū)可以解決,但這似乎可以用于監(jiān)測(cè)用戶輸入內(nèi)容,不要用于非法目的呀!所以就是知道也不會(huì)告訴你的。

當(dāng)前文章:vb.net檢測(cè)按鍵 vbs檢測(cè)按鍵是否按下
網(wǎng)站地址:http://www.muchs.cn/article26/hggicg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、云服務(wù)器、Google、手機(jī)網(wǎng)站建設(shè)軟件開發(fā)、App開發(fā)

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司