我正在Windows下的Qt中使用某种窗口管理器应用程序。我的方法是让一个主应用程序通过ipc控制某些子进程的(无框架)主窗口的可见性和几何形状。这样做的好处是子进程可能会崩溃而不会影响主应用程序。缺点是屏幕被拆分成许多独立的窗户。
现在我正在寻找一种解决方案,让所有子进程都可以绘制到一个窗口中,并让正确的子进程处理事件(例如鼠标和键事件)。
自定义QPA插件是一个很好的解决方案吗?我认为它可以通过QSharedMemory
来处理这个主窗口,并且所有子进程都会将其内容绘制到QWindowsBackingStore
关于给定几何和可见性的内容中。如何从这样的插件开始?
Windows下是否有其他解决方案可能更适合这种情况? 可能是Window API中的CreateDesktop函数候选者吗?