【问题标题】:Qt generate Keypress(keyboard) to the system(OS) a cross-platfom wayQt 以跨平台方式生成 Key Press(keyboard) 到系统(OF)
【发布时间】:2016-06-10 06:23:32
【问题描述】:

有没有一种方法可以使用 Qt 生成击键,以便它可以在 windows、linux 和 mac 上运行。我知道 Qt 有一个 QEvent 类,但它只将按键事件应用于它自己的窗口,而不是操作系统。我可以使用 winAPI 来完成,但这仅适用于 Windows,如果可能的话,我想要一个跨平台的代码源。

【问题讨论】:

    标签: c++ qt operating-system cross-platform keystroke


    【解决方案1】:

    Qt 中不存在这样的功能。您必须使用特定于平台的 API。

    【讨论】:

    • 真的吗?!他们本来可以这样想的,比如实现特定于平台的解决方案并根据当前的操作系统选择要使用的解决方案,同时让我们编写一段将与特定于平台交互的代码......无论如何,我猜我自己做
    • @Xsmael 无限多的事情都在可能的范围内。一个敬业的人是使他们取得成果所需要的一切。获取一个 Qt 帐户,签名contributor agreement,然后推送您的更改! :) IOW:没有人费心去实现它。我知道我从来不需要这样的功能。通常通过伪装成键盘与其他应用程序进行通信最终会导致丑陋的黑客攻击。但我毫不怀疑,如果做得好,这样的功能会受到欢迎。
    • 好的,我会考虑的,但为什么这么丑?它可以有许多下降应用程序,甚至是有用的应用程序。
    • @Xsmael 这很丑陋,因为最终您通过假装自己是人类用户,将其用作与另一个应用程序进行通信的一种方式。在测试或编写用户态键盘驱动程序之外,它通常是一种 hack。如果应用程序要与其他软件进行通信,它将提供相关的 API。否则,您或多或少会与风车作战。
    • 哦,现在我明白了,你说得对,好像我想与操作系统交互,我宁愿发送命令,但如果我想让“人类”使用他的远程计算机(假设是演示远程),程序将需要在实际计算机上“假装”为他,但来源仍然是人类。谢谢你的观点;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 2018-09-14
    相关资源
    最近更新 更多