当屏幕上出现颜色时,如何触发自动按键或鼠标单击事件 在其他应用程序或浏览器上?
答案 0 :(得分:11)
这很大程度上取决于你想要什么。您要将密钥发送到
吗?所有这些都会导致针对特定应用程序和活动窗口更改的问题。
SendKeys
将消息发送到活动应用。这是一个高级函数,它采用一个字符串来编码一系列键。
keybd_event
级别很低,会注入全局按键。在大多数情况下SendKeys
更容易使用。
mouse_event
模拟鼠标输入。
SendInput
取代这些功能。它更灵活,但使用起来有点困难。
使用固定目标窗口时,根据窗口的工作方式发送消息可能会有效。但是因为这doesn't update all states它可能并不总是有效。但是你没有改变窗口焦点的竞争条件,这是值得的。
WM_CHAR
在基本多语言平面(16位)中发送一个字符WM_UNICHAR
发送支持整个unicode范围的字符WM_KEYDOWN
和WM_KEYUP
发送将通过键盘布局转换为字符的键。我的建议是在定位特定窗口/应用程序时首先尝试使用消息,并且只有在失败时才尝试使用其中一个较低级别的解决方案。
答案 1 :(得分:1)
当其他应用程序或浏览器的屏幕上出现颜色时
我使用OpenCV和C ++制作了一个用手指操作鼠标的程序。我使用了3个色带来实现3种鼠标功能。
每当相机检测到这些颜色时,就会发生相关功能,我使用mouse_event来执行鼠标功能。 有关详情,请阅读我的code,blog,video。
答案 2 :(得分:0)
我不是100%确定你想要什么,但是如果您所有人都在运行链接button.Clicked
事件的方法,那么您可以像任何其他方法一样手动运行该方法。
答案 3 :(得分:0)
您可以使用.NET SendKeys类发送击键。 模拟鼠标点击需要P / Invoke。 我不知道如何检测屏幕上的颜色。