代码之家  ›  专栏  ›  技术社区  ›  Ayeayeron

Qt:如何向操作/窗口系统发送事件?

  •  1
  • Ayeayeron  · 技术社区  · 15 年前

    我想在一个Qt应用程序中创建一个事件,该事件可以由同时运行的单独的Qt应用程序接收。正常的sendEvent函数要求您命名将接收它的对象,但我不能使用它,我希望它像键盘按下事件一样,通过操作系统中任何打开的程序进行过滤。有人知道怎么做吗?谢谢

    2 回复  |  直到 7 年前
        1
  •  2
  •   J. Calleja    7 年前

    看一看 Inter-Process Communication in Qt .最适合跨平台的方法是使用套接字。

    共享内存也是一个选项,但是对于事件,我建议您使用一个套接字,然后您可以将插槽连接到接收端,以像本地事件一样处理它。

    编辑:对不起,我想我读到另一个答案时错过了真正的要点,你想做一个像钥匙记录器一样的东西来记录任何地方的中风。不确定那个。

        2
  •  1
  •   e8johan    15 年前

    首先,它离跨平台很远,不能将qt用于此特定功能。所以,回答这个问题,你的目标是什么操作系统?

    第二,你在写这两个应用程序吗?为什么不通过D-Bus(仅限于Unix…)传递“事件”,甚至通过xmlrpc传递?( http://doc.libqxt.org/tip/qxtrpcservice.html )并避免整个伪造事件业务?