Skip to content

Package user32util provides helper functionality for working with Windows' user32 library.

License

Notifications You must be signed in to change notification settings

stephen-fox/user32util

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

user32util

GoDoc

Package user32util provides helper functionality for working with Windows' user32 library.

APIs

The library offers several helper functions for working with user32.

Many of these functions require that you first load the user32 DLL:

user32, err := user32util.LoadUser32DLL()
if err != nil {
	// Error handling.
}

Input listeners

  • NewLowLevelMouseListener() - Starts a listener that reports on mouse input
  • NewLowLevelKeyboardListener() - Starts a listener that reports on keyboard input

Send input

  • SendKeydbInput() - Sends a single keyboard input
  • SendMouseInput() - Sends a single mouse input
  • SendInput() - Send input implements the SendInput() Windows system call
  • SendHardwareInput() - Sends a single hardware input

Examples

The following examples can be found in the examples/ directory:

  • moveandclickmouse - Moves the mouse and then left clicks on the new position. Takes inputs as command line arguments in x,y format. E.g., example 1221,244 460,892. Coordinates can be printed by running: example print
  • readkeyboard - Reads keyboard presses and prints them to stderr
  • readmouse - Reads mouse inputs and prints them to stderr
  • sendinput - Sends keyboard or mouse inputs to Windows

Special thanks

This library is influenced by jimmycliff obonyo's work in this GitHub gist: https://gist.github.com/obonyojimmy/52d836a1b31e2fc914d19a81bd2e0a1b

Thank you for documenting your work, jimmycliff.