我在 GUI 库方面有过很多不好的经历
所以我想知道如何在 C++ 中从头开始创建一个窗口 我不是在谈论 win32,我的意思是基本上自己创建它,而不需要任何外部库
有什么方法可以使用图片或其他东西来创建一个窗口 是的,我知道这有多难。
我还在某处读到可以在汇编中为 C++ 制作库
有没有办法在汇编或C++中创建自定义GUI
编辑: 我的目标只是Windows
PS:我想学习如何做到这一点的另一个原因是因为
我可能想真正创建一个操作系统。所以我想要 GUI ......
为了创建窗口,您需要与操作系统上当前存在的任何窗口系统进行交互。如果窗口管理器在内核空间中运行(如 Windows 中的情况),则这将需要系统调用,或者用户空间窗口管理器(如 X)需要某种进程间通信。要从头开始创建窗口,您需要了解这些窗口管理器的工作原理以及它们使用的协议。就 X 而言,找到有关该协议如何工作的资源应该不会太难。对于 Windows,您唯一的选择可能是使用 API,因为窗口管理器的内部结构是专有的。
您可以尝试仔细阅读 MenuetOS 的源代码 - 我相信它完全是用汇编语言编写的,并且有一个 GUI。当然,如果您尝试编写一个在 Windows、Linux 等上运行的程序,这将不起作用。但是如果您想避免所有外部库,包括与 Windows 的接口,则必须在裸机上运行.
如果你足够疯狂,想在汇编中做这件事,请继续安装masm32,它可以做基本的GUI,如窗口/消息框等。
通过调用“CreateWindowEx”Win32 API,您可以在 Windows 上“从头开始”创建一个窗口。