Study:把已有的 Windows GUI 程序运行在 Web 上

·

1 min read

如题所述的需求更加明确的描述为,将一个已有的 Win32 GUI 程序在不改动或低改动源代码的前提下运行在浏览器上。实现方法其实不少,其中最为优雅的莫过于,将原来的程序 GUI 部分与业务程序分开,将业务程序编译成 WebAssembly 后单独开发GUI。但这样就需要对源代码进行阅读并重新编译程序,故不可取。

另一个方便的做法是,首先将程序运行在一个虚拟环境里,然后在这个虚拟环境里开一个 VNC Server,用 noVNC 这样的 Web 端 VNC 客户端去连接。上述技术实际上唤作 Application Virtualization,即应用程序虚拟化。

SourceForge study

开源平台 SourceForge 总结了这篇文章: Compare the Top Application Virtualization Software of 2022。记录了一些优秀的应用虚拟化工具。其中值得研究的有:

以上未提到的,多数是与需求相违背、面向云应用不支持本地部署或只能使用特定应用。

Web searching study

此外,还从互联网上了解到以下:

  • Winflector:轻量,高可用,但是对于一些图形API性能低或无法运行。