回答
你必须先写VGA驱动程序。和鼠标驱动程序。可能会让垃圾收集器去。需要做的事情还很多。
嘿,先生,是COSMOS是开发操作系统的好工具 – 2015-01-15 15:43:02
是的! 你可以,我有一个很好的gui和一个可用的鼠标驱动程序。 所以是的,这是可能的,但是需要时间,并且当你做鼠标驱动程序时,你需要知道要写和读什么,否则,这是可能的。
下面是如何(与里程碑5,但其他版本类似)。宇宙为你做VGA的东西。它也做鼠标和键盘。我还没有能够制作键盘,但我有一个工作鼠标(尽管我还没有能够找出如何查看按钮是否关闭)。我会向你展示VGA功能以帮助你开始。首先,你需要这个命名空间:
using Cosmos.Hardware;
然后,对于住在屏幕变量添加这个类级别的变量:
VGAScreen screen:
然后,对其进行初始化,该代码添加到您的BeforeRun ()方法:
screen = new VGAScreen();
screen.SetMode320x200x8();
screen.Clear(0);
最后,您可以设置像素的颜色搭配:
screen.SetPixel320x200x8(uint x, uint y, uint c);
您设置x任意y和颜色c。颜色采用256色格式。数学涉及到形状。
我是一个大COSMOS的家伙,如果任何人遇到这个后来我想离开的方式做到2015年10月12日。
在我们开始之前我HIGHLY推荐使用devkit而不是userkit。虽然devkit是为修改Cosmos本身而设计的,但您可以完全避开它,并在完成安装后关闭VS窗口。 devkit有所有 userkit的功能,但userkit只更新一次,每月更新一次,也许更多,并且devkit每隔几天更新一次最新的错误修复和功能。你一定要下载开发包,因为它的支持也最多。
好吧,为了得到VGA,打开一个新的Visual Studio窗口。创建一个新的Class Library
并将其命名为任何你想要的。
转到参考文献并添加对Cosmos.HAL,Cosmos.Common和Cosmos.System的参考。你可以在其中找到%APPDATA%\漫游\宇宙用户套件
进入的AssemblyInfo.cs,并添加using Cosmos.Common;
,并在底部添加下面一行: [装配:环(Ring.System)
好吧,现在您需要进入并创建一个名为whatever的新类。
在顶部,添加一个使用Cosmos.HAL并使用系统。
添加两行:
public static VGAScreen screen = new VGAScreen();
和public static Mouse mi = new Mouse();
名称屏幕和MI任何你想要的。
创建一个名为whatever的Init和Tick方法。
下面是一个例子初始化方法:
public static void InitVGA() {
//Make SURE you have this exact line or else it won't work! Any size other than 320x200 is broken, and 8-bit is the highest VGA compatible color depth.
screen.SetGraphicsMode(VGAScreen.ScreenSize.Size320x200, VGAScreen.ColorDepth.BitDepth8);
//There's a bug currently where only 6-bit color is supported with 8-bit. 0x3f is pure white.
screen.Clear(0x3f);
//mi.Initialize(320, 200);
}
现在在蜱方法,只需添加什么。任何你想要发生的每一个像毫秒左右的事情。它可能就像绘制鼠标或其他东西一样。你可以在互联网上的其他地方找到,这是一个漫长的故事。
你走了,现在你已经在使用VGA了!您可以使用screen.SetPixel320x200x8(x,y,color)设置像素;您可以使用screen.SetPixel320x200x8(x,y,color)设置像素。
适用颜色范围从0-3f。它遵循通用控制台颜色0-f,但只是增加了更多的选项。
现在,只需构建此dll并将其引入您的主操作系统。现在将方法yourvgaclass.Init添加到内核中的BeforeRun方法中,并将yourvgaclass.Tick添加到内核中的Run方法中。
'AssemblyInfo.cs'在哪里? – flash76 2017-11-20 20:32:32
- 1. OS X上的C#开发工具
- 2. C + GUI + Mac OS
- 3. C#/ .NET GUI开发工具
- 4. 在Windows上开发动画GUI
- 5. 在Mac OS上开发什么东西?
- 6. 在Mac OS X上使用C#Mono的随机GUI错误
- 7. Linux GUI开发
- 8. Java开发人员在Mac OS上遇到Objective-C
- 9. Objective-C仅用于Mac OS/iPhone上的开发吗?
- 10. 使用c进行GUI开发#
- 11. GUI开发(在Android中)
- 12. 开发GUI窗口
- 13. Mac OS X上的Clozure CL:摆脱GUI?
- 14. 在OS X上的Eclipse C++
- 15. 炼油GUI开发的RGTK2
- 16. LWUIT 1.5的Mac OS开发
- 17. 图Cosmos上的交易DB
- 18. 如何在我的Cosmos OS中绘制鼠标?
- 19. 如何在C++中开发自己的GUI而不是Win32 API?
- 20. 在Android中开发GUI的好工具?
- 21. Azure cosmos db触发器
- 22. 在Windows上开发GUI的最佳语言/工具
- 23. 在Borland C++上创建GUI
- 24. 用C++开始Windows GUI应用程序开发
- 25. 在开发设备上安装旧的iPhone OS
- 26. 在Mac OS X上开发个人使用的应用程序
- 27. 在OS X上执行PHP开发的最佳方法
- 28. 理解Cocoa开发在Mac OS上安装Python的概念
- 29. 用PySide开发一个GUI
- 30. 使用Visual C++ 2008开发在Windows OS和Linux OS上共同工作的应用程序
是什么让你相信这可能是可能的?您是否在某个地方阅读过支持.NET的.NET? – 2010-03-12 00:57:53