应用程序启动时修改Qt的共享库代码

发布于 2024-12-29 21:36:52 字数 395 浏览 0 评论 0原文

我正在尝试创建某种服务器,它允许我通过网络浏览器在远程计算机上启动 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

哭泣的笑容 2025-01-05 21:36:52

该工具 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文