应用程序启动时修改Qt的共享库代码
我正在尝试创建某种服务器,它允许我通过网络浏览器在远程计算机上启动 Qt 应用程序。
我想知道是否可以更改/隐藏 Qt 库中的一些符号(我想到了 QApplication 或 QCoreApplication),而不对应用程序代码进行任何更改(我假设它已经编译并使用 Qt 共享库)并编译我的整个定制的 Qt 库?
我需要这样做的原因是因为我想将我自己的特定 EventFilter 安装到 QApplication,并且还能够将我自己创建的事件推送到 Qt 应用程序。
如果该解决方案可以在所有平台上使用,那就太好了:D
PS 我知道我不可能子类化 QApplication 并修改所有 Qt 应用程序以使用我的派生类,但我想更巧妙地做到这一点。 ;-)
I'm trying to create some kind of a server which allows me to start Qt's applications on remote machine via web browser.
I'm wondering it is possible to change/hide some symbols from Qt library (I thought about QApplication or QCoreApplication) without making any changes in code of application (I assume that it is already compiled and uses Qt shared library) and compiling my whole tailor-made Qt libs?
The reason why I need to do this is because I want to install my own specific EventFilter to QApplication and also be able to push my own created events to Qt application.
It also would be great if the solution could be used on all platforms :D
P.S. I know that it will not be possible I could subclass QApplication and modify all Qt apps to use my derived class but I would like to do this more craftily. ;-)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
该工具 GammaRay 在运行时将各种代码注入到 Qt 方法中,以附加和调试正在运行的 Qt 应用程序。您可能想查看它的代码库以了解它是如何完成的。
The tool GammaRay does all kinds of injecting code into Qt methods at runtime to attach and debug running Qt applications. You might want to have a look at its code base to see how it is done.