VB.Net远程控制编程实例[鼠标钩子、 键盘钩子]
2008-01-07 16:57
627 查看
功能描述:模拟鼠标事件的函数模型 设置光标到指定位置的函数模型 模拟键盘事件的函数模型
命名空间:Lob.API
转化后代码如下:
Imports System
Imports System.Runtime.InteropServices
Namespace Lob.API
Public Class Api
''' <summary>
''' 模拟鼠标事件的函数模型
''' </summary>
''' <param name="flags"></param>
''' <param name="dx"></param>
''' <param name="dy"></param>
''' <param name="dwData"></param>
''' <param name="dwExtraInfo"></param>
Public Declare Sub mouse_event Lib "user32.dll" _(ByVal flags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal dwData As Integer, ByVal dwExtraInfo As Integer)
''' <summary>
''' 设置光标到指定位置的函数模型
''' </summary>
''' <param name="X"></param>
''' <param name="Y"></param>
''' <returns></returns>
Public Declare Function SetCursorPos Lib "user32.dll" _
(ByVal X As Integer, ByVal Y As Integer) As Boolean
''' <summary>
''' 模拟键盘事件的函数模型
''' </summary>
''' <param name="bVk"></param>
''' <param name="bScan"></param>
''' <param name="dwFlags"></param>
''' <param name="dwExtraInfo"></param>
Public Declare Sub keybd_event Lib "user32.dll" Alias "keybd_event" _
(ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
End Class
End Namespace
功能描述::鼠标控制(Hook鼠标) 鼠标钩子
相关事件 :鼠标Hook类 委托-鼠标按键触发 委托-鼠标移动触发 模拟鼠标移动的事件 模拟鼠标按下的事件
创建鼠标钩子的实例 控制鼠标执行相应操作
命名空间:Lob.Hooks
Imports System
Imports System.Text
Imports System.Runtime.InteropServices
Imports Lob.API
Imports Lob.Codes
Namespace Lob.Hooks
Public Class MouseHook
Public Sub New()
MyBase.New()
MouseButton = (MouseButton + New DoMouseButtons(Api.mouse_event))
MouseMove = (MouseMove + New DoMouseMove(Api.SetCursorPos))
End Sub
Private Event MouseButton As DoMouseButtons
Private Event MouseMove As DoMouseMove
Public Sub MouseWork(ByVal MEvent As MouseEvent)
Select Case (MEvent.Type)
Case MouseEventType.MouseMove
MouseMove(MEvent.X, MEvent.Y)
Case MouseEventType.MouseLeftDown
MouseMove(MEvent.X, MEvent.Y)
MouseButton(CType(MouseEventFlag.LeftDown, Integer), MEvent.X, MEvent.Y, 0, 0)
Case MouseEventType.MouseLeftUp
MouseMove(MEvent.X, MEvent.Y)
MouseButton(CType(MouseEventFlag.LeftUp, Integer), MEvent.X, MEvent.Y, 0, 0)
Case MouseEventType.MouseRightDown
MouseButton(CType(MouseEventFlag.RightDown, Integer), MEvent.X, MEvent.Y, 0, 0)
Case MouseEventType.MouseRightUp
MouseButton(CType(MouseEventFlag.RightUp, Integer), MEvent.X, MEvent.Y, 0, 0)
Case MouseEventType.MouseClick
MouseMove(MEvent.X, MEvent.Y)
MouseButton(CType(MouseEventFlag.LeftDown, Integer), MEvent.X, MEvent.Y, 0, 0)
MouseButton(CType(MouseEventFlag.LeftUp, Integer), MEvent.X, MEvent.Y, 0, 0)
Case MouseEventType.MouseDoubleClick
MouseMove(MEvent.X, MEvent.Y)
MouseButton(CType(MouseEventFlag.LeftDown, Integer), MEvent.X, MEvent.Y, 0, 0)
MouseButton(CType(MouseEventFlag.LeftDown, Integer), MEvent.X, MEvent.Y, 0, 0)
MouseButton(CType(MouseEventFlag.LeftUp, Integer), MEvent.X, MEvent.Y, 0, 0)
MouseButton(CType(MouseEventFlag.LeftUp, Integer), MEvent.X, MEvent.Y, 0, 0)
End Select
End Sub
Public Enum MouseEventFlag
Move = 1
LeftDown = 2
LeftUp = 4
RightDown = 8
RightUp = 16
MiddleDown = 32
MiddleUp = 64
XDown = 128
XUp = 256
Wheel = 2048
VirtualDesk = 16384
Absolute = 32768
End Enum
Public Delegate Sub DoMouseButtons(ByVal flags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal dwData As Integer, ByVal dwExtraInfo As Integer)
Public Delegate Function DoMouseMove(ByVal X As Integer, ByVal Y As Integer) As Boolean
End Class
End Namespace
功能描述:键盘控制(Hook键盘) 键盘钩子
相关事件 :按下按键 释放按键
命名空间:Lob.Hooks
Imports System
Imports System.Runtime.InteropServices
Imports Lob.API
Namespace Lob.Hooks
Public Class KeyBoardHook
Private Const KEYEVENTF_KEYDOWN As Integer = 1
Private Const KEYEVENTF_KEYUP As Integer = 2
Public Shared Sub KeyDown(ByVal keyCode As System.Windows.Forms.Keys)
Api.keybd_event(CType(keyCode, Byte), 0, KEYEVENTF_KEYDOWN, 0)
End Sub
Public Shared Sub KeyUp(ByVal keyCode As System.Windows.Forms.Keys)
Api.keybd_event(CType(keyCode, Byte), 0, KEYEVENTF_KEYUP, 0)
End Sub
End Class
End Namespace
命名空间:Lob.API
转化后代码如下:
Imports System
Imports System.Runtime.InteropServices
Namespace Lob.API
Public Class Api
''' <summary>
''' 模拟鼠标事件的函数模型
''' </summary>
''' <param name="flags"></param>
''' <param name="dx"></param>
''' <param name="dy"></param>
''' <param name="dwData"></param>
''' <param name="dwExtraInfo"></param>
Public Declare Sub mouse_event Lib "user32.dll" _(ByVal flags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal dwData As Integer, ByVal dwExtraInfo As Integer)
''' <summary>
''' 设置光标到指定位置的函数模型
''' </summary>
''' <param name="X"></param>
''' <param name="Y"></param>
''' <returns></returns>
Public Declare Function SetCursorPos Lib "user32.dll" _
(ByVal X As Integer, ByVal Y As Integer) As Boolean
''' <summary>
''' 模拟键盘事件的函数模型
''' </summary>
''' <param name="bVk"></param>
''' <param name="bScan"></param>
''' <param name="dwFlags"></param>
''' <param name="dwExtraInfo"></param>
Public Declare Sub keybd_event Lib "user32.dll" Alias "keybd_event" _
(ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
End Class
End Namespace
功能描述::鼠标控制(Hook鼠标) 鼠标钩子
相关事件 :鼠标Hook类 委托-鼠标按键触发 委托-鼠标移动触发 模拟鼠标移动的事件 模拟鼠标按下的事件
创建鼠标钩子的实例 控制鼠标执行相应操作
命名空间:Lob.Hooks
Imports System
Imports System.Text
Imports System.Runtime.InteropServices
Imports Lob.API
Imports Lob.Codes
Namespace Lob.Hooks
Public Class MouseHook
Public Sub New()
MyBase.New()
MouseButton = (MouseButton + New DoMouseButtons(Api.mouse_event))
MouseMove = (MouseMove + New DoMouseMove(Api.SetCursorPos))
End Sub
Private Event MouseButton As DoMouseButtons
Private Event MouseMove As DoMouseMove
Public Sub MouseWork(ByVal MEvent As MouseEvent)
Select Case (MEvent.Type)
Case MouseEventType.MouseMove
MouseMove(MEvent.X, MEvent.Y)
Case MouseEventType.MouseLeftDown
MouseMove(MEvent.X, MEvent.Y)
MouseButton(CType(MouseEventFlag.LeftDown, Integer), MEvent.X, MEvent.Y, 0, 0)
Case MouseEventType.MouseLeftUp
MouseMove(MEvent.X, MEvent.Y)
MouseButton(CType(MouseEventFlag.LeftUp, Integer), MEvent.X, MEvent.Y, 0, 0)
Case MouseEventType.MouseRightDown
MouseButton(CType(MouseEventFlag.RightDown, Integer), MEvent.X, MEvent.Y, 0, 0)
Case MouseEventType.MouseRightUp
MouseButton(CType(MouseEventFlag.RightUp, Integer), MEvent.X, MEvent.Y, 0, 0)
Case MouseEventType.MouseClick
MouseMove(MEvent.X, MEvent.Y)
MouseButton(CType(MouseEventFlag.LeftDown, Integer), MEvent.X, MEvent.Y, 0, 0)
MouseButton(CType(MouseEventFlag.LeftUp, Integer), MEvent.X, MEvent.Y, 0, 0)
Case MouseEventType.MouseDoubleClick
MouseMove(MEvent.X, MEvent.Y)
MouseButton(CType(MouseEventFlag.LeftDown, Integer), MEvent.X, MEvent.Y, 0, 0)
MouseButton(CType(MouseEventFlag.LeftDown, Integer), MEvent.X, MEvent.Y, 0, 0)
MouseButton(CType(MouseEventFlag.LeftUp, Integer), MEvent.X, MEvent.Y, 0, 0)
MouseButton(CType(MouseEventFlag.LeftUp, Integer), MEvent.X, MEvent.Y, 0, 0)
End Select
End Sub
Public Enum MouseEventFlag
Move = 1
LeftDown = 2
LeftUp = 4
RightDown = 8
RightUp = 16
MiddleDown = 32
MiddleUp = 64
XDown = 128
XUp = 256
Wheel = 2048
VirtualDesk = 16384
Absolute = 32768
End Enum
Public Delegate Sub DoMouseButtons(ByVal flags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal dwData As Integer, ByVal dwExtraInfo As Integer)
Public Delegate Function DoMouseMove(ByVal X As Integer, ByVal Y As Integer) As Boolean
End Class
End Namespace
功能描述:键盘控制(Hook键盘) 键盘钩子
相关事件 :按下按键 释放按键
命名空间:Lob.Hooks
Imports System
Imports System.Runtime.InteropServices
Imports Lob.API
Namespace Lob.Hooks
Public Class KeyBoardHook
Private Const KEYEVENTF_KEYDOWN As Integer = 1
Private Const KEYEVENTF_KEYUP As Integer = 2
Public Shared Sub KeyDown(ByVal keyCode As System.Windows.Forms.Keys)
Api.keybd_event(CType(keyCode, Byte), 0, KEYEVENTF_KEYDOWN, 0)
End Sub
Public Shared Sub KeyUp(ByVal keyCode As System.Windows.Forms.Keys)
Api.keybd_event(CType(keyCode, Byte), 0, KEYEVENTF_KEYUP, 0)
End Sub
End Class
End Namespace
相关文章推荐
- VB.NET全局键盘鼠标钩子 [Vb.Net Hook](修正版)
- VB.NET全局键盘鼠标钩子 [Vb.Net Hook](修正版)
- 简单远程控制(仅传递鼠标和键盘消息)的实现
- HOOK技术--键盘鼠标钩子实例
- 钩子函数实例(获取系统键盘鼠标用)
- vb.net 鼠标控制
- 文字或图片跟随鼠标移动或键盘控制图片移动实例(javascript实现)
- 键盘鼠标钩子编程文章收集
- 模拟鼠标/键盘,(机器人,远程控制开发初步)大家一些研究!
- VB.net中全局键盘钩子(Keyboard Hook)
- HOOK技术--键盘鼠标钩子实例
- VB.NET:键盘控制焦点移动
- [VB.NET]键盘控制焦点移动
- HOOK技术--键盘鼠标钩子实例
- VB.net APP.config 实体化访问 configurationsection_《Visual Basic 2008 高级编程》 实例改新
- C#键盘鼠标钩子实例
- VB.NET编程技巧与实例集粹 Module5_输入简单表达式并求值
- [VB.NET源码]Instant VB.NET实例解析应用编程(PDF)
- 应用网络串口软件远程控制电脑键盘鼠标
- VB写简单远程控制+木马 (实例)[转载]