vb点虐 窗体键盘 vb窗体位置的代码

利用VB.NET怎样使窗体在没有焦点时也能检测键盘事件?

窗体内检测按键

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的鲁山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

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

Me.KeyPreview = True '注册窗体的键盘事件

End Sub

在TextBox1中显示按键代码

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

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

End Sub

窗体没有焦点,用窗体监测键盘输入缓冲区可以解决,但这似乎可以用于监测用户输入内容,不要用于非法目的呀!所以就是知道也不会告诉你的。

vb点虐 中如何执行键盘事件?

执行键盘事件方法如下:

第一步,点击VS工具。

第二步,打开后,新建一个Windows窗体应用程序。

第三步,请看右下方Form的属性栏。

第四步,双击KeyDown。

第五步,输入提示按键代码,如图所示。

第六步,再次输入代码,设置属性KeyPreview为true。

第七步,运行程序,按下举例F5,则会弹出提示,表明已经成功获。

VB点虐 我的程序只有一个窗体,窗体很小,怎么才能检测到鼠标在窗体以外的范围移动,还有键盘输入

用API GetCursorPos  

用Timer隔一段时间获取一次鼠标位置。

键盘输入,用 GetKeyboardState

加点分的话就给你完整的代码

Public Class NativeMethods

'获取鼠标位置

Declare Function GetCursorPos Lib "user32.dll" _

(ByRef lpPoint As System.Drawing.Point) as boolean

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

pinvoke点虐 : GetCursorPos (user32)

pinvoke点虐 : GetKeyboardState (user32)

初学vb点虐 做了一个控件但是放在窗体上不能响应键盘事件

1.

窗体有一个属性

pressview(在

杂项

的倒数第二个)

2.

这个属性可以指示:是否从窗体接收键盘的输入

3.

将其设置为

true

,窗体就可以接受键盘事件了

4.

然后通过委托

或者

调用子控件里面的函数过程

就可以实现键盘事件参数的传递,完成你所需要的功能了!

5.

望采纳~


文章名称:vb点虐 窗体键盘 vb窗体位置的代码
标题URL:http://hbruida.cn/article/ddsihdg.html