b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

VB.NET全局键盘和鼠标钩[Vb.Net钩]

电脑杂谈  发布时间:2020-04-01 09:08:08  来源:网络整理

mfc键盘钩子鼠标_鼠标钩子vb_vc 鼠标钩子

私人constant WH_MOUSE_LL = 14

私人建筑WH_KEYBOARD_LL = 13

私人建筑WH_MOUSE = 7

私人建筑WH_KEYBOARD = 2

私有const WM_MOUSEMOVE =&H200

私人建筑WM_LBUTTONDOWN =&H201

私人建筑WM_RBUTTONDOWN =&H204

私人建筑WM_MBUTTONDOWN =&H207

私人建筑WM_LBUTTONUP =&H202

私有const WM_RBUTTONUP =&H205

私人建筑WM_MBUTTONUP =&H208

私有常量WM_LBUTTONDBLCLK =&H203

私有常量WM_RBUTTONDBLCLK =&H206

私有常量WM_MBUTTONDBLCLK =&H209

私人constant WM_MOUSEWHEEL =&H20A

私人建筑WM_KEYDOWN =&H100

私人建筑WM_KEYUP =&H101

私有常量WM_SYSKEYDOWN =&H104

私有常量WM_SYSKEYUP =&H105

私有常量VK_SHIFT为字节=&H10

私有常量VK_CAPITAL为字节=&H14

私有常量VK_NUMLOCK为字节=&H90

#End Region

事件委托处理#Region“事件委托处理”

将私人事件作为新的System.ComponentModel.EventHandlerList

/ ** /'''鼠标激活事件

作为MouseEventHandler的公共自定义事件MouseActivity

AddHandler(ByVal值为MouseEventHandler)

events.AddHandler(“ MouseActivity”,值)

结束AddHandler

RemoveHandler(ByVal值为MouseEventHandler)

events.RemoveHandler(“ MouseActivity”,值)

结束RemoveHandler

RaiseEvent(ByVal发送者作为对象,ByVal e作为System.Windows.Forms.MouseEventArgs)

将其作为MouseEventHandler = TryCast(事件(“ MouseActivity”),MouseEventHandler)

如果eh不算什么,那么eh. 调用(发送者,e)

结束RaiseEvent

结束事件

/ ** /'''键盘按下事件

公共自定义事件KeyDown作为KeyEventHandler

AddHandler(ByVal值为KeyEventHandler)

events.AddHandler(“ KeyDown”,值)

结束AddHandler

RemoveHandler(ByVal值为KeyEventHandler)

events.RemoveHandler(“ KeyDown”,值)

结束RemoveHandler

RaiseEvent(ByVal发送者作为对象,ByVal e作为System.Windows.Forms.KeyEventArgs)

以KeyEventHandler = TryCast(事件(“ KeyDown”),KeyEventHandler)作为昏暗状态

如果eh不算什么,那么eh. 调用(发送者,e)

vc 鼠标钩子_mfc键盘钩子鼠标_鼠标钩子vb

结束RaiseEvent

结束事件

/ ** /'''键盘输入事件

公共自定义事件KeyPress作为KeyPressEventHandler

AddHandler(ByVal值为KeyPressEventHandler)

events.AddHandler(“ KeyPress”,值)

结束AddHandler

RemoveHandler(ByVal值为KeyPressEventHandler)

events.RemoveHandler(“ KeyPress”,值)

结束RemoveHandler

RaiseEvent(ByVal发送者为对象,ByVal e为System.Windows.Forms.KeyPressEventArgs)

以KeyPressEventHandler = TryCast(事件(“ KeyPress”),KeyPressEventHandler)的形式定位

如果eh不算什么,那么eh. 调用(发送者鼠标钩子vb,e)

结束RaiseEvent

结束事件

/ ** /'''键盘释放事件

公共自定义事件KeyUp作为KeyEventHandler

AddHandler(ByVal值为KeyEventHandler)

events.AddHandler(“ KeyUp”,值)

结束AddHandler

RemoveHandler(ByVal值为KeyEventHandler)

events.RemoveHandler(“ KeyUp”,值)

结束RemoveHandler

RaiseEvent(ByVal发送者作为对象,ByVal e作为System.Windows.Forms.KeyEventArgs)

以KeyEventHandler = TryCast(事件(“ KeyUp”),KeyEventHandler)的形式消失

如果eh不算什么,那么eh. 调用(发送者,e)

结束RaiseEvent

结束事件

#End Region

将hMouseHook设置为整数

将hKeyboardHook设置为整数

作为HookProc的私人共享MouseHookProcedure

作为HookProc的私人共享KeyboardHookProcedure

创建和销毁类型#Region“创建和销毁类型”

/ ** /'''创建全局鼠标和键盘挂钩(请使用Start方法开始监视)

Sub New()Sub New()

'将其留空

结束子

/ ** /'''创建一个全局的鼠标和键盘挂钩,决定是否安装挂钩

'''

立即获取系统消息

Sub New()Sub New(ByVal InstallAll As Boolean)

如果为InstallAll,则为StartHook(真,真)

结束子

/ ** /'''创建一个全局鼠标和键盘挂钩并确定已安装挂钩的类型

'''

挂钩键盘消息

'''

挂钩鼠标消息

mfc键盘钩子鼠标_鼠标钩子vb_vc 鼠标钩子

Sub New()Sub New(ByVal InstallKeyboard为布尔值,ByVal InstallMouse为布尔值)

StartHook(InstallKeyboard,InstallMouse)

结束子

/ ** /'''析构函数

受保护的覆盖Sub Finalize()Sub Finalize()

UnHook()'卸载对象时注销系统挂钩

MyBase.Finalize()

结束子

#End Region

/ ** /'''开始安装系统挂钩

'''

挂钩键盘消息

'''

挂钩鼠标消息

公共Sub StartHook()子StartHook(可选的ByVal InstallKeyboardHook为布尔值= True,可选的ByVal InstallMouseHook为Boolean = False)

“注册键盘挂钩

如果InstallKeyboardHook AndAlso hKeyboardHook = 0则

KeyboardHookProcedure =新的HookProc(AddressOf KeyboardHookProc)

hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL,KeyboardHookProcedure,Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly.GetModules()(0)),0)

如果hKeyboardHook = 0,则'检测注册是否完成

UnHook(True,False)'在此处注销

抛出新的Win32Exception(Marshal.GetLastWin32Error)'报告错误

如果结束

如果结束

'注册鼠标钩

如果InstallMouseHook并且hMouseHook = 0则

MouseHookProcedure =新的HookProc(AddressOf MouseHookProc)

hMouseHook = SetWindowsHookEx(WH_MOUSE_LL,MouseHookProcedure,Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly.GetModules()(0)),0)

如果hMouseHook = 0那么

摘机(False,True)

引发新的Win32Exception(Marshal.GetLastWin32Error)

如果结束

如果结束

结束子

/ ** /'''立即卸载系统挂钩

'''

卸载键盘挂钩

'''

卸载鼠标钩

'''

是否报告错误

公共Sub UnHook()Sub UnHook(可选ByVal UninstallKeyboardHook为布尔值= True,可选ByVal UninstallMouseHook为布尔值= True,可选ByVal ThrowExceptions为布尔值= False)

“卸载键盘挂钩

如果hKeyboardHook 0并且还需要UninstallKeyboardHook然后

将retKeyboard设置为Integer = UnhookWindowsHookEx(hKeyboardHook)

hKeyboardHook = 0

如果ThrowExceptions AndAlso retKeyboard = 0则'如果发生错误,是否报告错误

抛出新的Win32Exception(Marshal.GetLastWin32Error)'报告错误

如果结束

鼠标钩子vb_mfc键盘钩子鼠标_vc 鼠标钩子

如果结束

'卸载鼠标钩

如果hMouseHook 0并且还需要卸载MouseHook然后

将retMouse设置为整数= UnhookWindowsHookEx(hMouseHook)

hMouseHook = 0

如果ThrowExceptions并且retMouse = 0则

引发新的Win32Exception(Marshal.GetLastWin32Error)

如果结束

如果结束

结束子

'键盘消息的委派处理代码

私有函数KeyboardHookProc()函数KeyboardHookProc(ByVal nCode为整数,ByVal wParam为整数,ByVal lParam为IntPtr)为整数

静态处理为布尔值: 已处理= False

如果nCode> = 0 AndAlso(事件(“ KeyDown”)不是全部,否则ElEl事件(“ KeyPress”)不是全部,否则ElElse事件(“ KeyUp”)不是全部)然后

静态MyKeyboardHookStruct作为KeyboardHookStruct

MyKeyboardHookStruct = DirectCast(Marshal.PtrToStructure(lParam,GetType(KeyboardHookStruct)),KeyboardHookStruct)

“激活KeyDown

如果wParam = WM_KEYDOWN否则,否则wParam = WM_SYSKEYDOWN那么'如果消息是按普通键还是系统键

将其作为新的KeyEventArgs(MyKeyboardHookStruct.vkCode)

RaiseEvent KeyDown(Me,e)'激活事件

handled =已处理或e.Handled'是否取消下一个钩子

如果结束

“激活KeyUp

如果wParam = WM_KEYUP否则,否则wParam = WM_SYSKEYUP然后

将其作为新的KeyEventArgs(MyKeyboardHookStruct.vkCode)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-159875-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    每日福利
    热点图片
    拼命载入中...