본문 바로가기

자료

[VB.NET/C#] 마우스,키보드 후킹 keyboard Hook

728x90

 

블로그 인기글

● 메이플스토리 신규 룬패치/자동해제 프로그램 [링크 이동]

● 메이플스토리 거짓말탐지기 알림 프로그램 [링크 이동]

C#에서 TensorFlow 사용하는법 [링크 이동]


Nuget 패키지 관리자 콘솔에 Install-Package MouseKeyHook를 작성해주시거나

 

Nuget 패키지 관리자로 들어가서 MouseKeyHook 항목을 검색후에 설치해주시면됩니다.

 

코드

Imports Gma.System
Imports Gma.System.MouseKeyHook

Public Class Form1

    Private m_GlobalHook As IKeyboardMouseEvents

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

    Private Sub Form1_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
        Unsubscribe()
    End Sub

    Public Sub Subscribe()
        '어플리케이션을 위한 훅을 변수에 담습니다.
        m_GlobalHook = Hook.GlobalEvents()

        '이벤트를 발생시킬 핸들을 추가합니다.
        AddHandler m_GlobalHook.MouseDownExt, AddressOf GlobalHookMouseDownExt
        AddHandler m_GlobalHook.KeyPress, AddressOf GlobalHookKeyPress
    End Sub

    Private Sub GlobalHookKeyPress(sender As Object, e As KeyPressEventArgs)
        Console.WriteLine("KeyPress: " & vbTab & "{0}", e.KeyChar)
    End Sub

    Private Sub GlobalHookMouseDownExt(sender As Object, e As MouseEventExtArgs)
        Console.WriteLine("MouseDown: " & vbTab & "{0}; " & vbTab & " System Timestamp: " & vbTab & "{1}", e.Button, e.Timestamp)
    End Sub

    Public Sub Unsubscribe()
        '이벤트를 발생시키는 핸들을 제거해줍니다.
        RemoveHandler m_GlobalHook.MouseDownExt, AddressOf GlobalHookMouseDownExt
        RemoveHandler m_GlobalHook.KeyPress, AddressOf GlobalHookKeyPress

        '변수를 버려줍니다.
        m_GlobalHook.Dispose()
    End Sub
End Class

+ 참고링크 : http://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Library

 

 

 

깃헙 주소 : https://github.com/gmamaladze/globalmousekeyhook

728x90