How can I fire an automatic key press or mouse click event when a color appears on the screen on other application or browser?
The onkeypress event occurs when the user presses a key (on the keyboard).
Pressing Win in combination with other keys will access shortcuts ; these will vary based on the version of Windows you are using. If your keyboard does not have a Windows key, you can access the Start menu, but not other shortcuts, by pressing Ctrl-Esc .
It depends a lot on what you want. Do you want to send the keys to
All of these will cause problems targeting a specific application and the active window changes.
SendKeys
Sends Messages to the active app. It's a high level function taking a string which encodes a sequence of keys.
keybd_event
is very low level and injects a global keypress. In most cases SendKeys
is easier to use.
mouse_event
simulates mouse input.
SendInput
supersedes these functions. It's more flexible but a bit harder to use.
When working with a fixed target window, sending it messages can work depending on how the window works. But since this doesn't update all states it might not always work. But you don't have a race condition with changing window focus, which is worth a lot.
WM_CHAR
sends a character in the basic multilingual plane (16 bit)WM_UNICHAR
sends a character supporting the whole unicode rangeWM_KEYDOWN
and WM_KEYUP
Sends keys which will be translated to characters by the keyboard layout.My recommendation is when targeting a specific window/application try using messages first, and only if that fails try one of the lower level solutions.
when a color appears on the screen on other application or browser
I made one program using OpenCV and C++ for operating mouse with finger gesture. I used 3 color strips for 3 mouse function.
Whenever camera detect these colors, associated function takes place, I have used mouse_event for performing mouse function. For more information you may read my code, blog, video.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With