代码之家  ›  专栏  ›  技术社区  ›  Javed Akram

如何在不接触系统级任何输入设备的情况下触发按键或鼠标单击事件?

  •  5
  • Javed Akram  · 技术社区  · 14 年前

    当屏幕上出现颜色时,如何启动自动按键或鼠标单击事件 在其他应用程序或浏览器上?

    4 回复  |  直到 13 年前
        1
  •  11
  •   CodesInChaos    11 年前

    这在很大程度上取决于你想要什么。你想把钥匙送到

    • 你的申请
    • 模拟全局按键

    全局模拟密钥

    所有这些都将导致针对特定应用程序和活动窗口更改的问题。

    • SendKeys 向活动应用程序发送消息。它是一个高级函数,用一个字符串来编码一系列键。

    • keybd_event 发送密钥 更容易使用。

    • mouse_event

    • SendInput 取代这些功能。它更灵活,但使用起来有点困难。

    发送到特定窗口

    使用固定目标窗口时,根据窗口的工作方式向其发送消息可以工作。但从这以后 doesn't update all states 可能并不总是有效的。但是你没有一个可以改变窗口焦点的比赛条件,这很值得。

    我的建议是,当针对特定的窗口/应用程序时,请先尝试使用消息,并且只有在失败时,才尝试使用较低级别的解决方案之一。

        2
  •  1
  •   udit043    9 年前

    当一种颜色出现在其他应用程序或浏览器的屏幕上时

    • 左键单击的黄色
    • 控制光标位置的粉红色

    每当相机检测到这些颜色,相关的功能就会发生,我就用 mouse_event 用于执行鼠标功能。 code , blog , video

        3
  •  0
  •   Øyvind Bråthen    14 年前

    我不能百分之百确定你想要什么,但是如果你所要做的只是运行链接到 button.Clicked 事件,然后您可以像任何其他方法一样手动运行该方法。

        4
  •  0
  •   Mike Clark    14 年前

    您可以使用.NET SendKeys类发送击键。 我不知道如何检测屏幕上的颜色。