我想用GUI开发App,可以在不显示GUI的情况下运行。我怎么能这样做?
如果可能,此应用程序可以在没有任何与GUI相关的服务器上运行(例如:我可以使用ssh左右使用此类应用程序)。
如果有可能,请提供任何示例。
答案 0 :(得分:2)
是的,虽然它并不容易,但可能不值得。一般的想法是编写一个控制台程序,试图动态加载gui库并创建一个窗口。如果成功,它将从控制台/控制终端分离并成为一个gui程序。在Windows上,当用户双击exe时会短暂弹出控制台窗口,因为它会先创建,然后快速销毁。
您可能希望使用dlopen / LoadLibrary动态加载gui,因为libs可能甚至不会出现在您运行的计算机上,如果您依赖系统在启动时加载它们,您的程序将赢得&当他们失踪时,他们会全力以赴。这是最痛苦的部分 - 检查XOpenDisplay或CreateWindow的返回值或任何简单的东西,并且从控制台分离很容易(FreeConsole或fork)。但首先你需要让你的程序实际上从最糟糕的情况开始,没有客户端gui库。
如果您可以忽略这种情况 - 如果libs存在但显示器不是,那么您只需将其作为常规运行时错误处理 - 那么它根本不会太难