I'm trying to create a program where I can press a hotkey while I'm in a game and the program will receive the key press and preform an action. I've tried following tutorials and looking at other questions, but they seem to not provide the functionality I want or the methods are outdated and I cannot use them without error.
1
There are 1 best solutions below
Related Questions in C#
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in WPF
- WPF MessageBox Cancel checkbox check
- WPF multiple control property simultaneous changes
- ObservableCollection.CollectionChanged does not select the correct DataTemplate on ToolBar
- Telerik's WPF RadColorPicker NoColorText property not working
- How to automate UI interaction during acceptance test run
- Binding to "this.property" object in VisualStateMenager
- ContextMenu Closes Immediately
- Update ObservableCollection where the items are received from another List
- change content button with trigger
- WPF - How to highlight a combobox border when focused
- Wpf No Highlight on ListBoxItem for Touch Devices
- WPF WebBrowser how best to get Tag trees
- Make a class suitable for Property Change Notification
- WPF Comparing two datatables to find matching values
- how to create folder and file with datetime in wpf application
Related Questions in KEY-BINDINGS
- How to bind a hotkey
- VIM hjkl navigation keys, aganist existing muscle memory of arrow keys
- How do I bind the spacebar to the default function of ctrl in a listbox in python 3.4 with tkinter
- Sublime Text run a macro with key bindings
- I am able to capture the TAB in a jtable, but how do I capture the SHIFT+TAB?
- How do I use key name in key bindings?
- Where to find emacs ansi-term bindings
- How do I access the name of the action defined in a Java key binding?
- Why do KeyBindings, but not KeyListeners, detect ActionEvents in the following example?
- Can I bind action to a keypress in Emacs?
- Sublime Key Binding "TAB" to exit parenthesis, quotes etc, EXCEPT when it is the first character on the line
- Dyalog APL - Disabling APL symbol input
- Extend keybindings in JTable
- Enable spectacle keybindings with sublime text 2 on OSX Mavericks
- Custom key bindings in OSX terminal
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You'll need to do this with WINAPI Interop. The technique is usually referred to as a global hook.
You'll want to handle the
WM_KEYDOWN,WM_KEYUP,WM_SYSKEYDOWN, andWM_SYSKEYUPevents. You can read up on WPF and Win32 specific interoperation here.You can read up on planform invoke (PInvoke) here. Pinvoke is how you call unmanaged / native functions implemented in a dll from your .NET application.
For example, you can call the
SetWindowsHookEx(Pinvoke) | (MSDN) method in the user32.dll to install an application hook.You can find Pinvoke signatures at this wiki site: http://www.pinvoke.net
Here is a minimal keyboard hook example.
Here is an example C# / WPF example that could help you get started.